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