Плакаты здесь ] говорят, что Date всегда указывается в формате UTC.Однако, если я создаю Date (), создаю Calendar и устанавливаю календарное время с датой, время остается моим местным временем (а я не во времени UTC. Я проверил это, распечатав дату календаря в цикле, вычитая час на цикл. Здесь 11 часов вечера 19 мая, и нужно 24 цикла, прежде чем дата изменится на 18 мая. Сейчас 13:00 по всемирному координированному времени, поэтому, если бы календарь был установлен правильно, для этого потребовалось бы всего 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);
}