我使用的是当前成语违约日期的时区为UTC对Jodatime的日期时间
DateTime now = new DateTime(DateTimeZone.UTC);
有没有办法为默认,所以我可以创建使用默认的构造函数,因此基于UTC的datetime对象目前正在创建UTC datetime对象它更隐含?
DateTime now = new DateTime();
我使用的是当前成语违约日期的时区为UTC对Jodatime的日期时间
DateTime now = new DateTime(DateTimeZone.UTC);
有没有办法为默认,所以我可以创建使用默认的构造函数,因此基于UTC的datetime对象目前正在创建UTC datetime对象它更隐含?
DateTime now = new DateTime();
如果你只想设置乔达时间的默认时区,使用DateTimeZone.setDefault
。
如果你想改变的是整个JVM用途使用TimeZone.setDefault
方法的时区。请务必尽早设置它,因为它可以通过joda时间缓存。引用自DateTimeZone.getDefault:
默认时区来源于系统属性user.timezone。如果它是空的或者不是有效的标识符,那么转换JDK TimeZone默认值的值。如果失败,则使用UTC。
如果你真的关心多余的字符,那么只需要创建一个辅助方法:
public static DateTime newUTCDateTime() {
return new DateTime(DateTimeZone.UTC);
}
请注意,这将影响_whole_ jvm,这可能会或可能不会是OP想要的。 – jtahlborn 2012-02-22 15:36:28
增加了如何将它设置为“仅限”焦点时间('DateTimeZone.setDefault')。 – dacwe 2012-02-22 15:41:22
我想强调jtahlborn的警惕。 'TimeZone.setDefault'影响*在同一个JVM中运行的*每个应用*的每个线程*。调用此方法可能会在其他类中产生各种混淆和意外行为。 – 2014-07-23 18:29:41