Date.toLocaleString 使用区域设置格式但不调整时区
Date.toLocaleString that uses locale formatting but doesn't adjust timezone?
我的图(我不想修改的复杂JS库)需要本地时间的Javascript时间戳(图不会根据时区和夏令时进行调整,因此必须在数据库端完成)来绘制时间轴 - 源数据几乎是不可触碰的。
我使用相同的数据来显示工具提示,这几乎是"自己做饭",以显示数据点的精确值。
现在问题来了:
- 如果我使用
Date(x).toUTCString()
我会根据国际区域设置(英文月份和日期名称等)获得正确的值。 - 如果我使用
Date(x).toLocaleString()
我得到了正确的格式,但显示的日期与我的时区+DST偏移量相差;它已经添加到服务器端,现在函数再次添加它。
Date(x).toString
和Date(x).toGMTString
也没有帮助。
如何获取未调整时区的区域设置格式日期?
实现此目的的方法是初始化 Date
对象以包含 GMT 中的正确时间,而不是将其初始化为本地时间,然后它认为是 GMT 并在重新初始化期间重新调整。为了做到这一点,我们滥用了Date(Year,Month,day,hour,minute,seconds,ms)
的Date
构造函数语法。这违反了标准,但适用于所有主流浏览器:
Date(0,0,0,0,0,0,x).toLocaleString();
这将打印正确本地化的字符串,x
包含本地时间戳。
如果您的x
不是包含毫秒数的 int,而是日期错误的 javascript Date 对象,请使用:
Date(0,0,0,0,0,0,x.getTime()).toLocaleString();
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- ExtJS——在展开/折叠时调整面板高度
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 高库存时期时间与时区不匹配
- Chrome应用程序调整窗口大小保持纵横比
- 如何自动调整标签的高度以适应内容
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 仅在IE中,javascript中的时区名称不正确
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 带时区的Javascript Datestring转换器
- 合并两个数组,重新调整循环js
- Morris.js折线图x轴标签在调整大小后消失
- Date.toLocaleString 使用区域设置格式但不调整时区
- FullCalendar可在设置为本地时区时调整时区,但不适用于欧洲/雅典
- 烦人的javascript时区调整问题
- 如何在jQuery日期和时间选择器中使用javascript/jQuery调整时区
- 在Javascript/NodeJS中,返回当前日期以调整时区,然后找到用户'时间是早上6点
- 如何在JavaScript中按时区调整时间