toLocaleDateString和toLocaleString方法不尊重机器时区
toLocaleDateString and toLocaleString methods does not respect the machines timezone
我的电脑有美国地区设置、日期格式和-8h GMT时区,但我并不完全在美国地区。为什么当通过新日期获取日期时,我可以看到时区偏移是正确的,但当我尝试将其转换为localedateString时,我会得到真正的本地日期字符串?
var date = new Date();
///here date is (for example) Mon Jan 15 2001 12:00:00 GMT-0800 (Pacific Standard Time)
var localeString = date.toLocateDateString();
///or date.toLocaleString()
/// localeString here comes in my real locale date format 15.01.2001 г or 15.01.2001 г., 12:00:00 when using toLocaleString()
toLocaleString的输出完全依赖于实现,并且在当前使用的浏览器之间不一致。它不一定尊重系统设置(例如,Chrome不尊重我对组件顺序的系统设置),ECMA-262中也没有要求它这样做。
为了获得可靠的结果,请以明确的格式手动格式化输出,例如25 Feb 2017
。库可以提供帮助,但如果您只需要一种格式,那么一个简单的函数就足够了。
相关文章:
- toLocaleDateString和toLocaleString方法不尊重机器时区
- 高库存时期时间与时区不匹配
- 仅在IE中,javascript中的时区名称不正确
- 带时区的Javascript Datestring转换器
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- 获取用户选择的不带时区的日期
- Rails:如何获取当前用户'使用Heroku时的时区
- 时刻时区和时区(_Z)
- 分析特定区域设置(而不是时区!)中的日期字符串
- moment.js在两个时区格式的日期之间存在差异
- 使用c#中的邮件附件javascript在客户端机器上获取服务器端导出的crystal报告路径.下面的
- 获取本地时间的JS日期,日期对象中没有时区详细信息
- 节点JS:时间机器坏了——timekeeper.travel不做时间旅行
- 如何模拟浏览器's时区
- JavaScript“new Date()”使用哪个时区
- Javascript-将时区添加到日期倒计时中
- 来自Windows机器的date对象——时区问题
- 在浏览器中显示带有时区的客户端机器日期和时间
- 如何使用ASP.NET查找客户端机器时区
- Javascript Date.now()跨机器/时区的一致性