为什么下面这行返回的TimeZone时间不正确:
TimeZone.getTimeZone("America/Ottawa")亚特兰大时间现在是下午6:26,奥塔瓦什也应该是下午6:26。
我认为它有两个部分:大陆/城市,并且它应该返回正确的时间,我说的对吗?
发布于 2011-04-02 06:27:57
正确的时区是America/Toronto。这是安大略省最大的城市。
时区名称通常采用Continent/City格式。对于加拿大和美国,时区使用该州或省最大的城市。少数州有多个时区,其形式为Continent/State/City。对于大多数其他国家,至少有一个时区使用最大的城市。具有多个时区的国家/地区通常使用每个时区中最大的城市。
编辑:造成时差的可能原因是,如果找不到时区,代码默认为Zulu时间。
发布于 2011-04-02 06:26:40
你从哪里弄到America/Ottawa的?你不能随意选择城市。如果Java和其他所有人使用相同的time zone database,那么America/Toronto应该可以工作。
更新:切换America/New_York以获得更合适的America/Toronto。
https://stackoverflow.com/questions/5519472
复制相似问题