我使用3个浏览器输出此结果。
铬:
new Date().toLocaleString()
> "Sun Sep 04 2011 21:40:04 GMT+0800 (HKT)"
Safari浏览器:
new Date().toLocaleString()
> "2011年9月4日 下午09时54分51秒格林尼治标准时间+0800"
FF:
new Date().toLocaleString()
> "Sun Sep 4 21:46:03 2011"
为什么输出结果不一样? timezoom?
答案 0 :(得分:2)
这取决于计算机的配置,用户的首选日期格式,显然是用户的区域设置,以及浏览器如何确定。
您应该更喜欢使用适当的日期库(例如datejs)进行格式化。
答案 1 :(得分:1)
实际上,这是webkit中的一个错误;特别是在Chrome中,但Safari也确实受到了影响:http://code.google.com/p/chromium/issues/detail?id=3607
toLocaleString()不会转换为语言环境!
最糟糕的是,它被关闭为WontFix。怎么可能?我们应该尝试重新打开它。关于错误的结论是,当一个新的javascript globalization apis(很好地解释here)出现时。这听起来不像是我的解决方案!
在任何情况下,如果可能的话,请按照@ arnaud576875建议使用datejs,这是旧的,但仍然非常好。
答案 2 :(得分:0)
选中此link
这个例子:
var event = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// British English uses day-month-year order and 24-hour time without AM/PM
console.log(event.toLocaleString('en-GB', { timeZone: 'UTC' }));
// expected output: 20/12/2012, 03:00:00
// Korean uses year-month-day order and 12-hour time with AM/PM
console.log(event.toLocaleString('ko-KR', { timeZone: 'UTC' }));
// expected output: 2012. 12. 20. 오전 3:00:00