Преобразование даты Java в строку UTC

java.util.DatetoString()Метод отображает дату в местном часовом поясе.

Существует несколько распространенных сценариев, когда мы хотим, чтобы данные печатались в формате UTC , включая журналы, экспорт данных и связь с внешними программами.

  • Как лучше всего создать строковое представление java.util.Dateв формате UTC?
  • Как заменить формат j.u.Date toString(), который не поддается сортировке (спасибо, @JonSkeet! )в лучшем формате?

Приложение

Я думаю, что стандартный способ печати даты в пользовательском формате и часовом поясе довольно утомителен:

final Date date = new Date();
final String ISO_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS zzz";
final SimpleDateFormat sdf = new SimpleDateFormat(ISO_FORMAT);
final TimeZone utc = TimeZone.getTimeZone("UTC");
sdf.setTimeZone(utc);
System.out.println(sdf.format(date));

Я искал один -лайнер типа:

System.out.println(prettyPrint(date, "yyyy-MM-dd'T'HH:mm:ss.SSS zzz", "UTC"));

28
задан Basil Bourque 8 July 2014 в 19:41
поделиться