【发布时间】:2013-01-11 16:28:15
【问题描述】:
DateTime start = new DateTime().withYear(1884);
System.out.println(start);
System.out.println(start.minusYears(1));
输出
1884-01-11T08:26:10.234-08:00
1883-01-11T08:26:10.234-07:52:58
编辑 1: 我不正确。它没有删除 1.02 秒
DateTime start = new DateTime().withYear(1884);
DateTime other = start.minusYears(1);
long diffMs = start.getMillis() - other.getMillis(); //31536422000
编辑 2:
有趣的是,我对toString(); - (-08:00, -07:52:58) 的输出感到困惑
编辑 3:
对于 Java 日历,我看不出有任何区别:
Calendar cal = Calendar.getInstance();
cal.set(start.getYear(),
start.getMonthOfYear(),
start.getDayOfMonth(),
start.getHourOfDay(),
start.getMinuteOfHour(),
start.getSecondOfDay());
System.out.println(cal.getTime());
cal = Calendar.getInstance();
cal.set(start.getYear()- 1,
start.getMonthOfYear(),
start.getDayOfMonth(),
start.getHourOfDay(),
start.getMinuteOfHour(),
start.getSecondOfDay());
System.out.println(cal.getTime());
输出:
Mon Feb 11 18:46:42 PST 1884
Sun Feb 11 18:46:42 PST 1883
【问题讨论】:
-
不知道是不是类似this one的问题
-
@MikeChristensen 看起来像,但看到我的编辑,现在我真的很困惑。我想知道为什么 toString 的结尾部分意味着..
-
最后一部分是与 UTC 的偏移量(取决于使用的时区)您的位置在 1884 年 1 月 11 日比 UTC 晚 8 小时,但比时间早 7 小时 52 分 58 秒区域已标准化。
-
@JoachimIsaksson 是否意味着没有时差?