私は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);
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);
どちらも私に同じ結果を与えています、1965/10/13 06:09:54
。
代わりに、を期待し1965/10/13 05:26:40
ます。以下に示すOracleクエリを使用してこれを取得しています。
select to_date('1900-JAN-1') + 2075866000/86400 from dual
そして、JodaとOracleの間の矛盾について、私はWolframalphaを試しました。これも、Oracleと同じ結果をもたらします。
なぜその違いがあるのか説明してください。