Преобразование времени в йодатиме в единицу времени в миллис

Может кто-нибудь объяснить мне, почему, когда я пытаюсь получить миллисекунды 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?

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

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