我使用的是當前成語違約日期的時區爲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