我的图表(我不想修改的复杂JS库)需要本地时间的Javascript时间戳(图表不会针对时区和DST进行调整,因此必须在数据库端完成。 )用于绘制时间轴 - 源数据几乎是不可触及的。
我使用相同的数据来显示工具提示,这几乎是“我自己做饭”,以显示数据点的精确值。
现在出现了问题:
Date(x).toUTCString()
,我会根据国际区域设置显示正确的值 - 英文月份和日期名称等。Date(x).toLocaleString()
我获得了正确的格式,但显示的日期因我的时区+ DST偏移而关闭;它已经在服务器端添加,现在该功能再次添加它。 Date(x).toString
和Date(x).toGMTString
也没有帮助。
如何获得非时区调整的区域设置格式的日期?
答案 0 :(得分:-1)
实现这一目标的方法是初始化Date
对象以包含GMT中的正确时间,而不是将其初始化为当地时间,然后它认为是GMT并在重新初始化期间重新调整。
为此,我们滥用Date
的{{1}}构造函数语法。这违反了标准,但适用于所有主流浏览器:
Date(Year,Month,day,hour,minute,seconds,ms)
这将打印正确本地化的字符串, Date(0,0,0,0,0,0,x).toLocaleString();
包含本地时间戳。
如果x
不是包含毫秒数的int,而是日期错误的javascript Date对象,请使用:
x