在我的程序中,我收到了以毫秒为单位定义时间戳的字符串。现在我需要将其转换为正确的日期。我找到的解决方案如下所示:
String aTime = "1365504203.0269";
double t = Double.parseDouble(aTime);
Date date = new Date((long)t*1000);
SimpleDateFormat dateFormatDDMMYYYY = new SimpleDateFormat("dd.MM.yyyy");
SimpleDateFormat dateFormatHHMMssSS = new SimpleDateFormat("HH:mm:ss:SS");
String day = new String(dateFormatHHMMssSS.format(date));
String hour = new String(dateFormatDDMMYYYY.format(date));
System.out.println("The Date: "+day);
System.out.println("The Time: "+hour);
不幸的是,这从时间戳中删除了毫秒的准确性。(我不确定时间是否那么准确,因为我几乎无法再考虑它了。)
它是因为 double->long 转换而丢失了,还是根本不存在?有什么办法可以解决这个问题?