我寫信,要求日期爲十進制格式的文件:十進制格式的日期時間在Java或喬達
2007-04-24T13:18:09
成爲39196.554270833331000
沒有人有時間格式,將做到這(十進制時間是什麼VB/Office等使用)?
Basic代碼是這樣如下:
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點
呃...我的印象是十進制時間是自1900年以來的天數,而不是1970年:http://support.microsoft.com/kb/214094 – Powerlord 2009-04-13 21:20:47
良好的捕獲 - 這就是爲什麼plusYears(70)是否有 - 將millis「轉換」爲1900年而不是1970年。(我剛剛讀了我的代碼錯誤) – Stephen 2009-04-15 22:29:37