Я столкнулся с проблемой, которую действительно не понимаю. Я пытаюсь использовать метод set в Календаре, но он изменяет значения только в том случае, если я его распечатываю, вот код:
Calendar cal = Calendar.getInstance();
cal.set(2020,2,31);
// System.out.println("Necessary print: " + cal.getTime());
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
// reset time
cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
System.out.println("Date set: " + cal.getTime());
System.out.println("Day of month: " + cal.get(Calendar.DAY_OF_MONTH));
Этот предыдущий код дает мне вывод:
Date set: Mon Mar 02 00:00:00 CET 2020
Day of month: 2
И если я раскомментирую «необходимый отпечаток», то получу:
Necessary print: Tue Mar 31 23:07:17 CEST 2020
Date set: Mon Mar 30 00:00:00 CEST 2020
Day of month: 30
Мне действительно интересно, почему отпечаток может повлиять на этот метод Спасибо заранее за помощь! ?