当我尝试将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);
Run Code Online (Sandbox Code Playgroud)
当itemDouble
is 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毫秒.转换为a时Date
,要求显示毫秒(.SSS
模式中).你得到的结果是正确的.