Я пытаюсь вывести текущий DateTime в формате UTC в следующем формате: 2016-01-11T14: 08: 42 + 00: 00SimpleDateFormat игнорирует "XXX", если временная зона установлена в "UTC"
final SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
final String dateString = formatter.format(new Date());
«dateString» теперь должен содержать «2016-01-11T14: 08: 42 + 00: 00», но содержит «2016-01-11T14: 08: 42Z».
Без установки «UTC» часовой пояс я получаю правильный формат, но - конечно - в моем конкретном часовом поясе ...
Любые идеи?
Я думаю, что мой путь просто «неправильно» путь. Я попытаюсь использовать «Z», поскольку он/кажется стандартным. СПАСИБО! – eventhorizon
@eventhorizon Я не думаю, что ваш путь обязательно неправильный; Я считаю неожиданным поведение использовать 'Z' вместо' +00: 00'. Я уверен, что за решением было хорошее намерение, я просто не знаю, что это могло быть. Однако придерживаться 'Z' может быть проще. –
@eventhorizon Z является символом UTC + 00: 00, официально обозначенным в стандарте ISO-8601. Вероятно, буква Z первоначально исходит из использования США и США (Z = Zulu). –