如何在JodaTime中获取本地机器的TimeZone?
如何检测本地计算机所在的时区?
我试过DateTimeZone.getDefault()
但是如果机器在德国的话,这并没有给我时区“德国”。
有可能吗?
如果您的主机位于德国, DateTimeZone.getDefault()
将返回您的时区的ID,该ID应该是柏林。
在格式化程序中,您必须执行formatter.withZone(DateTimeZone.getDefault()).parseDateTime(yourDateTime)
,以便在String中使用时区。
“德国”不是时区。
如果您的机器在德国并且您使用来自jdk(而不是来自jodatime)的TimeZone.getDefault().getDisplayName()
,则会获得“MitteleuropäischeZeit”。
如果您需要国家/地区,请尝试Locale.getDefault().getDisplayCountry()
。