Подтвердить что ты не робот

Часовой пояс даты по умолчанию для UTC для Jodatime DateTime

В настоящее время я создаю объекты UTC DateTime с использованием текущей идиомы

DateTime now = new DateTime(DateTimeZone.UTC);

Есть ли способ по умолчанию, поэтому я могу создавать объекты DateTime на основе UTC с использованием конструктора по умолчанию, поэтому он более неявный?

DateTime now = new DateTime();
4b9b3361

Ответ 1

Если вы хотите установить часовой пояс по умолчанию для времени joda, используйте DateTimeZone.setDefault.


Если вы хотите изменить часовой пояс, который использует весь jvm, используйте метод TimeZone.setDefault. Просто не забудьте установить его на ранней стадии, так как он может быть кэширован по времени joda. Цитируется DateTimeZone.getDefault:

Часовой пояс по умолчанию выводится из системного свойства user.timezone. Если это значение null или не является допустимым идентификатором, тогда значение JDK TimeZone по умолчанию преобразуется. Если это не удается, используется UTC.

Ответ 2

Если вы действительно обеспокоены дополнительными символами, просто создайте вспомогательный метод:

public static DateTime newUTCDateTime() {
  return new DateTime(DateTimeZone.UTC);
}