【发布时间】:2013-03-20 03:49:00
【问题描述】:
谷歌浏览器
new Date()
//returns Fri Mar 29 2013 17:55:25 GMT+0530 (IST)
IE8
new Date()
//returns Fri Mar 29 17:48:46 UTC+0530 2013
我需要从 IE 上的日期中提取 (IST) 部分,在 chrome 上我可以使用 dateString.substring 来提取它,但在 IE 上我不能这样做。
getTimeZoneOffset 方法以分钟为单位给出偏移量,有没有办法使用偏移量获取字符串?
或者我是否需要研究与偏移量相对应的所有时区字符串并从中创建一个对象然后使用它?
【问题讨论】:
-
您打算如何处理缩写或偏移量?如果您的目标是将其映射回时区,那么您就走错了路。许多时区具有相同的偏移量,许多缩写可以用于多个时区。没有 100% 可靠的方法来自动检测用户的时区,但 jsTimeZoneDetect 通常足够好。如果检测不准确,您仍然希望允许您的用户更改他们的时区。如果您打算做其他事情 - 请详细说明。
-
同样的事情,我想将缩写和时间戳一起显示给用户,然后我偶然发现了这个问题,当超过两个位置时无法决定选择哪个缩写不同的缩写共享相同的时区
-
这是一个很好的问题,因为想要带括号的时区的正当理由是出于虚荣显示的目的。即使您使用正则表达式解析它,如果它不解析,则默认为“本地时间”。语言实现方面,2015 年他们无法决定标准化是愚蠢的。其次,它显示在 .toString() 方法中却没有自己的 getter 方法,这很可笑。但这是对实施的批评(以及每个供应商,同样如此),而不是问题。
标签: javascript internet-explorer date timezone