質問

日付をある暦法から別の暦法に変換するという課題があります。

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 に使える

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top