Я пробовал это, используя 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/ 13.10 06:09:54
.
Думаю, 1965/10/13 05:26:40
, вместо этого. Я получаю это, используя запрос Oracle, приведенный ниже:
select to_date('1900-JAN-1') + 2075866000/86400 from dual
И, столкнувшись с противоречием между Joda и Oracle, я попробовал Wolframalpha, который также дает мне тот же результат, что и Oracle.
Кто-нибудь, объясните, почему такая разница?