我正在尝试使用此代码将时间戳转换为日期:
String str = "14799744000000800";//last four digit is time zone
DateFormat timeZoneFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
timeZoneFormat.setTimeZone(TimeZone.getTimeZone("GMT-8"));
Date time = new java.util.Date(Long.parseLong(str));
System.out.println(timeZoneFormat.format(time));
但它打印'21 -03- 470955 00:00:00'而不是21-03-2016 00:00:00。
您可以看到年度部分未正确转换。如何解决此问题?
当前的毫秒值是 1481007881541
,因此14799744000000800
似乎确实是将来。
编辑根据您以后的评论,您可以从字符串中删除最后四位数。