将Jodatime的DateTime的日期时区默认为UTC

时间:2012-02-22 15:27:28

标签: java jodatime

我目前正在使用当前的成语

创建UTC DateTime对象
DateTime now = new DateTime(DateTimeZone.UTC);

有没有办法默认,所以我可以使用默认构造函数创建基于UTC的DateTime对象,因此它更隐式?

DateTime now = new DateTime();

2 个答案:

答案 0 :(得分:70)

如果您只想为joda时间设置默认时区,请使用DateTimeZone.setDefault


如果要更改整个jvm 使用TimeZone.setDefault方法的时区。请务必尽早设置它,因为它可以通过joda时间缓存..引自DateTimeZone.getDefault

  

默认时区源自系统属性user.timezone。如果该值为null或不是有效标识符,则转换JDK TimeZone缺省值。如果失败,则使用UTC。

答案 1 :(得分:15)

如果您真的关心额外的字符,那么只需创建一个辅助方法:

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