在实际开发中,有些操作是需要获取当前时间的,获取时间,并且以一定的格式存到数据库中。
# # 获取时间并且格式化
方案一:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
System.out.println("当前时间:" + sdf.format(now)
方案二:
Timestamp nowDate = new Timestamp(System.currentTimeMillis());
这个获取的时间的结果是这样的 :2019-09-05 14:27:38.253
注意点:这需要用 TimeStamp类型来接收,这个时间类型的字段在数据库中是四个字节。
与之相关的 Date 类型是 三个字节 DateTime是八个字节
# # 获取当前时间三十分钟以后的时间
Timestamp nowDate = new Timestamp(System.currentTimeMillis()+30*60*1000);
获取当前时间的三十分钟之前的做法换成减法就可以了,根据括号里边的我们可以看出来,其实就是获取当前时间的时间戳,然后减去三十分钟对应的毫秒数。
# # 获取当前时间的年月日 时分秒
mport java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class TestDate{
public static void main(String[] args){
Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//可以方便地修改日期格式
String hehe = dateFormat.format( now );
System.out.println(hehe);
Calendar c = Calendar.getInstance();//可以对每个时间域单独修改
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.println(year + "/" + month + "/" + date + " " +hour + ":" +minute + ":" + second);
}
}
有时候要把String类型的时间转换为Date类型,通过以下的方式,就可以将你刚得到的时间字符串转换为Date类型了。
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");