Плакаты здесь говорят, что Дата всегда в UTC времени. Однако, если я создаю Date (), создаю календарь и устанавливаю календарное время с датой, время остается моим местным временем (и я не на UTC времени).
Я проверил это, напечатав дату календаря в цикле, вычитая час за цикл. 19 мая здесь 23:00, и пройдет 24 цикла, прежде чем дата изменится на 18 мая. Сейчас 1:00 UTC, поэтому, если календарь настроен правильно, потребуется всего 14 циклов.
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");
int index = 0;
for(; index > -30; index--)
{
System.out.println(index);
System.out.println(dateFormatter.format(calendar.getTime()));
System.out.println();
calendar.add(Calendar.HOUR, -1);
}