在我的Mac上,以下代码正常工作并返回太平洋时区
TimeZone pacificTime = TimeZone.getTimeZone("america/los_angeles");
但是在我的ubuntu机器上,Java无法解析它,变量pacificTime返回GMT时区。有人可以解释为什么会这样吗?
答案 0 :(得分:1)
我的假设是Ubuntu
计算机运行Java 8
,而mac
运行Java 7
。
代码适用于您的mac
,因为Java 7
中的方法不区分大小写,而Java 8
中的方法 。因此,您的Ubuntu
计算机上的时区无法识别,并且该方法会返回默认时区,即GMT
。
为了在Ubuntu
上获得正确的时区,请使用时区的正确名称,该名称以大写字母开头:
TimeZone pacificTime = TimeZone.getTimeZone("America/Los_Angeles");