问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的
经过百度得知,原来java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。
问题2:13位时间戳如何转换成10位时间戳
本来以为java中有设置可以修改其时间精度,后来在百度上没有找到,就只能采用其它方法来转化,这里提供两种方式来转换。
第一种:通过substring方法,将13位的时间戳最后三位数字截取
第二种:将13位时间戳除以1000取整。
另外提供一段时间戳转时间的代码:
/**
* 时间戳转时间(10位时间戳)
* @param time
* @return
*/
public static String timestampToDate(long time) {
String dateTime;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(FORMAT_SEC_FULL);
long timeLong = Long.valueOf(time);
dateTime = simpleDateFormat.format(new Date(timeLong * 1000L));
return dateTime;
}