一、什么是时间戳
时间戳(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中时间戳转换成日期,或者日期转换成时间戳,比较常用,掌握这两个操作可以更加方便地处理日期相关的任务,提高工作效率。通过本文的介绍,相信对时间戳和日期相关的处理会更加得心应手。