Конвертировать дату Java в строку UTC

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

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

What's the best way to create a String representation of java.util.Date in UTC? How to replace the j.u.Date’s toString() format, which isn't sortable (thanks, @JonSkeet!) with a better format? Addendum

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

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"));

Ответы на вопрос(7)

Ваш ответ на вопрос