当我尝试将double转换为Date时出现问题。
这是我的代码:
double itemDouble = 1370437809.00;
long itemLong = (long) (itemDouble * 1000);
Date itemDate = new Date(itemLong);
String itemDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS").format(itemDate);
当
itemDouble
为1370437809.00
时,itemDateStr
为2013-06-05 21:10:09.00,
但是当itemDouble的小数位不为零(例如
1370437809.66
)时,itemDateStr
为2013-06-05 21:10:09.660
。格式化的日期字符串不正确。这是怎么发生的?
最佳答案
根据您的代码,1370437809.66
是自1970年以来的秒数。小数部分代表660毫秒。转换为Date
时,要求显示毫秒(模式中的.SSS
)。您得到的结果是正确的。