чтобы заставить его распечатать дату, истолкованную в UTC.

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