Ade*_*ari 6 java datetime jodatime
我用Jodatime尝试过这个DateTime,
DateTime dateTime = DateTime
.parse("1-JAN-1900", DateTimeFormat.forPattern("dd-MMM-yyyy"))
.plusSeconds(2075866000);
String dateTimeStr = DateTimeFormat.forPattern(
"yyyy/MM/dd HH:mm:ss").print(dateTime);
System.out.println(dateTimeStr);
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用Jodatime MutableDateTime
MutableDateTime dateTime = MutableDateTime
.parse("1-JAN-1900", DateTimeFormat.forPattern("dd-MMM-yyyy"));
dateTime.add(DurationFieldType.seconds(), 2075866000);
String dateTimeStr = DateTimeFormat.forPattern(
"yyyy/MM/dd HH:mm:ss").print(dateTime.toDateTime());
System.out.println(dateTimeStr);
Run Code Online (Sandbox Code Playgroud)
两者都给了我相同的结果,1965/10/13 06:09:54.
我希望1965/10/13 05:26:40,相反.我使用下面给出的Oracle查询得到了这个,
select to_date('1900-JAN-1') + 2075866000/86400 from dual
Run Code Online (Sandbox Code Playgroud)
在Joda和Oracle之间发生矛盾之后,我尝试了Wolframalpha,这也给了我与Oracle相同的结果.
有人请解释为什么会有这种差异?
根据timeanddate.com,吉隆坡在 1901 年、1905 年、1933 年、1941 年、1942 年、1945 年进行了时区调整,这些调整的总和可能解释了您所看到的差异。
编辑:事实上,如果将所有调整加起来,您会得到 43:14,这正是您所看到的差异。
JodaTime 和 Java 为您提供了正确的数字。
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |