我无法理解JavaScript中toString()对象的toLocaleString()Date方法之间的区别。我知道的一件事是,每当需要将toString()对象转换为字符串时,就会自动调用Date

以下代码始终返回相同的结果:

​var d = new Date();
document.write( d + "<br />" );
document.write( d.toString() + "<br />" );
document.write( d.toLocaleString() );

输出为:
Tue Aug 14 2012 08:08:54 GMT+0500 (PKT)
Tue Aug 14 2012 08:08:54 GMT+0500 (PKT)
Tue Aug 14 2012 08:08:54 GMT+0500 (PKT)

最佳答案

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleString
基本上,它将日期格式化为在调用该函数的计算机上格式化的日期,例如在美国,每天的前一天,在世界上大多数其他地区的前一天。
编辑:
因为其他一些人指出上面的引用不一定是可靠的,所以ECMAScript spec的效果如何:

15.9.5.5 Date.prototype.toLocaleString ( )


由于您可以希望大多数实现都可以反射(reflect)该规范,因此不同之处在于toString()仅要求可读,因此toLocaleString()应该以与用户根据其区域设置期望相匹配的格式可读。

关于javascript - JavaScript:Date的toString()和toLocaleString()方法之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11945272/

10-11 11:57