2
2011年の代わりに2077が出力される理由は誰にも分かりますか?それは実際にコンパイルするよう奇妙なJavaのカレンダーの振る舞い
Integer yyyyMMdd = 20110830
Calendar day = Calendar.getInstance(TimeZone.DEFAULT);
Integer dd = yyyyMMdd % 100;
Integer yyyy = yyyyMMdd/10000;
day.set(yyyy, MM-1, dd);
System.err.println(day.getTimeInMillis());
?また、Calendar.setLenient(false);を追加してみてください。 2行目の後にもう一度実行してください。 –
なぜ、どこでも 'int'ではなく' Integer'を使用していますか?ここで*問題*を引き起こすことはありませんが、それははっきりと奇妙です。 –
ああ、 'TimeZone.DEFAULT'はどこから来たのですか?最初の行にセミコロンもありません。問題を表示する場合は、実際のコードを投稿してください。 –