我正在编写一个要求日期为十进制格式的文件:
2007-04-24T13:18:09
变成39196.554270833331000
有没有人有时间格式化程序可以做到这一点(十进制时间是 VB/Office 等使用的)?
基本代码如下:
final DateTime date = new DateTime(2007, 04, 24, 13, 18, 9, 0, DateTimeZone.UTC);
double decimalTime = (double) date.plusYears(70).plusDays(1).getMillis() / (Days.ONE.toStandardDuration().getMillis())); //=39196.554270833331000.
对于上面的例子。
(我开始使用可以执行此操作的 DateTimePrinter,但现在太难了(我没有链接 joda 源,所以我无法轻松获得想法))。
注意:十进制时间是自 1900 年以来的天数 - . 代表部分天数。2.6666666 是 1900 年 1 月 2 日下午 4 点