public class DateUtils {
//获取当前系统时间2020-07-21 20:55:352 Date date=new Timestamp(System.currentTimeMillis());
/*** 获取时间戳* 输出结果:1438692801766*/
@Test
public void getTimeStamp() {
Date date = new Date();
long times = date.getTime();
System.out.println(times);
//第二种方法: new Date().getTime();
}
/*** 获取格式化的时间* 输出格式:2020-07-21 20:55:35*/
@Test
public void getFormatDate(){
Date date = new Date();
long times = date.getTime();//时间戳 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(date);
System.out.println(dateString);
}
/*** 将时间戳转化为标准时间* 输出:Tue Oct 20 12:04:36 CST 2020*/
@Test
public void timestampToDate(){
long times = 1412654676572L;
Date date = new Date(times);
System.out.println(date);
}
}
一般将实体类中的日期类型数据写入数据库时,需要把java.util.Date转换为java.sql.Date,使用常规方法转换,转换过来的只可以得到年月日,如果要得到时分秒须使用Date的子类Timestamp。
java.util.Date是不能直接插入数据库的,虽然他包含时分秒,java.sql.Date可以直接写入数据库,但是只有日期没有时间,使用java.sql.Timestamp可包含目前到毫秒的时间值。
Date转Timestamp
Timestamp createTime = new Timestamp(new Date().getTime());
//2020-07-22 17:05:45.08
Timestamp转Date
Timestamp t = new Timestamp(System.currentTimeMillis());
Date d = new Date(t.getTime());
//Wed Jul 22 17:05:45 CST 2020
补充:实体类中添加时间转换注解(注意时区问题)
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date startTime;