您的位置:

Java时间戳转换日期

一、什么是时间戳

时间戳(Timestamp),指的是从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

在Java中,时间戳可以使用System类的currentTimeMillis()方法获取。

long timestamp = System.currentTimeMillis();//获取当前时间戳

二、时间戳转日期

Java中可以通过将时间戳转换成Date对象再进行格式化输出。

可以使用SimpleDateFormat类来进行格式化处理。

long timestamp = 1621601779780L;//例如,将2021年5月22日10点16分19秒转为时间戳为1621601779780
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String dateStr = sdf.format(date);
System.out.println(dateStr);//输出2021年05月22日 10时16分19秒

三、日期转时间戳

将日期字符串转换成时间戳,则需要先将日期字符串转换成Date对象,然后通过Date对象的getTime()方法获取时间戳。

String dateStr = "2021年05月22日 10时16分19秒";//日期字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date date = sdf.parse(dateStr);
long timestamp = date.getTime();
System.out.println(timestamp);//输出1621601779000

四、注意事项

1. 时间戳最好使用long类型,避免溢出。

2. 在使用SimpleDateFormat进行格式化处理时,格式化字符串中的字符必须与日期字符串中的字符对应,否则会出现解析错误。

例如yyy表示年份,yy表示年份的后两位;MM表示月份,mm表示分钟;HH表示24小时制中的小时数,hh表示12小时制中的小时数。

3. 在转换日期字符串时,也需要注意格式字符串中的字符与日期字符串中的字符对应关系。

五、总结

Java中时间戳转换成日期,或者日期转换成时间戳,比较常用,掌握这两个操作可以更加方便地处理日期相关的任务,提高工作效率。通过本文的介绍,相信对时间戳和日期相关的处理会更加得心应手。