带有日期的格里高利历的意外行为B.C

时间:2016-10-14 12:25:33

标签: java gregorian-calendar android-5.1.1-lollipop

我想:

  • 将日期设置为70 B.C。
  • 然后减去2年
  • 我希望有一个新的日期,其值为:72 B.C。

但我得到了68 B.C。

这是我的代码:

GregorianCalendar g1 = new GregorianCalendar();
g1.set(GregorianCalendar.YEAR, 70);
g1.set(GregorianCalendar.MONTH, 11);
g1.set(GregorianCalendar.DAY_OF_MONTH, 1);
g1.set(GregorianCalendar.ERA, GregorianCalendar.BC);
System.out.println(g1.toString()); 
g1.add(GregorianCalendar.YEAR,-2);
System.out.println(g1.toString()); 

当然我可以简单地将-2更改为2并且它会起作用,但是在A.D.中的日期也是如此,它的工作方式相反。

从独立于ERA的gregorianCalendar中减去年份的正确方法是什么?

有关JDK和系统的其他信息 - 我在Android 5.1.1上

这似乎只是Android中的一个问题?

0 个答案:

没有答案