GregorianCalendar を使用して BCE 年を設定する方法
-
25-09-2019 - |
質問
日付をある暦法から別の暦法に変換するという課題があります。
GregorianCalendar のドキュメントでは、次のことが示唆されているようです。 できる 紀元前の日付を使用したいのですが、その方法がわかりません。単純に年をマイナスにすると、つまり、
GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
System.out.println(cal.getTime.toString());
「Sun Feb 02 03:00:00 GMT-05:00 21」と出力されますが、これは明らかに正しくありません。
解決
ERA を BC に設定する必要があります (BC は静的フィールドです) グレゴリオ暦).
標準 (グレゴリオ暦) カレンダーには、紀元前と紀元の 2 つの時代があります。
http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
例えば
calendar.set(Calendar.ERA, GregorianCalendar.BC);
他のヒント
これに関するドキュメントは次の場所にあります。 http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html#ERA
それが示している Calendar.ERA
そしてどのように両方とも GregorianCalendar.AD
そして GregorianCalendar.BC
に使える
所属していません StackOverflow