我需要区分东京和首尔时区,它们都具有相同的偏移量而不是 DST 偏移量。
我正在使用 javascript 来计算偏移量。还查看了解析字符串以获取时区的名称,这似乎不是一个好主意。
请让我知道如何区分这两者。
我需要区分东京和首尔时区,它们都具有相同的偏移量而不是 DST 偏移量。
我正在使用 javascript 来计算偏移量。还查看了解析字符串以获取时区的名称,这似乎不是一个好主意。
请让我知道如何区分这两者。
如果 Offset 和 DST 是您拥有的唯一信息并且它们在两种情况下都相同,那么您显然无法区分它们。
因此,您将需要另一条信息。您似乎可以从时间字符串中提取的时区名称听起来是一个很好的标识符。您应该使用zone.tab 文件中的正式名称。
您不应该依赖 Date 的toString()
or toTimeString()
,它们被指定为依赖于实现。
new Date()
似乎包括时区名称。
对于东京,它返回:
Thu May 31 2012 21:09:04 GMT+0900 (JST)
对于首尔,它返回:
Thu May 31 2012 21:09:04 GMT+0900 (KST)
但是,这取决于浏览器/操作系统。
否则,您可以尝试确定用户的地理位置(基于 IP 地址)或为用户提供其时区中的区域/地区列表以供选择。