我有一种双格式数字作为字符串上传文件,它们每个都等于特定时间,如下所示:(实际上我必须将左侧转换为右侧)
40981.0500559 = 13.03.2012 01:12:04.000
40981.0500676 = 13.03.2012 01:12:05.000
40981.0500792 = 13.03.2012 01:12:06.000
40981.0500910 = 13.03.2012 01:12:07.000
40981.0501025 = 13.03.2012 01:12:08.000
我尝试使用 excel 并找出前五位数字显示日期和从 1900 开始的计数,这意味着 00000。并且每天它都会增加 +1。之后的其余 7 位数字。它显示了从 00:00:00 开始的时间,当它是 0.0000000 时,每 0.0000116 秒增加一次,直到达到 0.9999999,即再次等于 00:00:00。但我真的很困惑在java中转换的出路。我试过这个:
//Time[j] = 40981.0500559 as string format**
double T = Double.parseDouble(Time[j])*100000000- 2766489481590L;
DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss.FFF");
System.out.println(formatter.format(T));
但是当我更改输入值时它会得到错误的日期。例如40993.2891410
应该变成25/03/2012 06:56:21.782
但我知道上面的命令没有针对所有数字进行校准。