下のテストケースでは、後で私はDateUtil.format(calendarObj,"yyyy-MM-dd")
を使って書式設定しています。 しかし、私は結果を印刷するとき、それは、例えば、1Groovy:DateUtil.format "yyyy-MM-dd"は、書式設定中に月ごとに1つずつインクリメントします。
で月をインクリメント:
のGroovyコード:
def testDate=new GregorianCalendar(2000,1,30);
def testDate1=new GregorianCalendar(2000,1,5);
def testDate2=new GregorianCalendar(2000,4,25);
def testDate3=new GregorianCalendar(2000,6,10);
出力(System.out.println(DateUtil.format(testDate/1/2/3,"yyyy-MM-dd"))
を使用して):
2000-03-01
2000-02-05
2000-05-25
2000-07-10
缶誰がなぜこれが起こっているのか説明してください。
奇妙なことに、最初の例では '2月30日(それは存在しません)を作成していて、あなたは' 3月1日になっています。 –
@Hector:それほど興味がありません。 2000年は閏年でしたが、2月は29日でした。したがって、値を30年2月に設定すると、カレンダーは月と日を1に自動的に変更します。同じように、32月に設定すると、実際には1月2日となります。 –
それは私にとって本当に悪いデザインです。どう思いますか? –