次のコードがあります。カレンダーで年を設定する
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/YYYY HH:mm");
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, 2016);
cal.set(Calendar.MONTH, 11);
cal.set(Calendar.DAY_OF_MONTH, 31);
cal.set(Calendar.HOUR_OF_DAY, 22);
Date start = cal.getTime();
System.out.println(dateFormat.format(start));
cal.set(Calendar.YEAR, 2017);
cal.set(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.HOUR_OF_DAY, 5);
Date end = cal.getTime();
System.out.println(dateFormat.format(end));
それは印刷されます。
31/12/2016 22:00
01/01/2016 05:00
私は2番目の日付の年は何が起こっているか2017年であることを期待しますか?私はJava 1.7を使用しています。
あなたの 'dateFormat'とは何ですか? –
私は '31-12-2016 22:00'と' 01-01-2017 05:00'を得ました – GurV
私はちょうどあなたのコードを走らせました。フルバージョンでコードを更新できますか?それ以外のものが影響を与える可能性がありますか?スレッドのような? – Josh