Преобразование времени в йодатиме в единицу времени в миллис
Может кто-нибудь объяснить мне, почему, когда я пытаюсь получить миллисекунды DateTime с зоной, отличной от моей, это возвращает мне миллисекунды моей локальной машины »часовой пояс? Я'ищу миллисекунды UTC, но мои локальные настройки приложения установлены на EST (хотя ям на самом деле в Ирландии;))
Вот's код:
DateTimeFormatter format = DateTimeFormat.mediumDateTime();
DateTime local = new DateTime();
DateTime utc = new DateTime(System.currentTimeMillis(), DateTimeZone.UTC);
System.out.println("utc zone = " +utc.getZone());
System.out.println("UTC time: " + utc);
long current = utc.getMillis();
System.out.println("current: " + format.print(current));
System.out.println("local: " + format.print(local.getMillis()));
Вот's, что это печатает:
utc zone = UTC
UTC time: 2013-08-16T13:36:32.444Z
current: Aug 16, 2013 9:36:32 AM
local: Aug 16, 2013 9:36:32 AM
В настоящее время я бы подумал, что у него должно быть то же время, что и в UTC?