JavaScript: Difference between toString() and toLocaleString() methods of Date
我无法理解javascript中
以下代码始终返回相同的结果:
1 2 3 4 | ?var d = new Date(); document.write( d +"<br />" ); document.write( d.toString() +"<br />" ); document.write( d.toLocaleString() ); |
?输出为:
1 2 3 | 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) |
developer.mozilla.org https:///EN /文档/美国/全球_ JavaScript日期对象参考/ / / tolocalestring
基本上,它的日期格式来格式化知识,它会在电脑那里是所谓的功能,例如在一个在美国,两个月前一天在世界其他地方。
编辑:
因为一些人出上面的参考圆是不是很可靠,这是怎样从ECMAScript的规格:
15.9.5.2 Date.prototype.toString ( ) This function returns a String value. The contents of the String are implementation->> dependent, but are intended to represent the Date in the current time zone in a convenient, human-readable form.
15.9.5.5 Date.prototype.toLocaleString ( ) This function returns a String value. The contents of the String are implementation->>dependent, but are intended to represent the Date in the current time zone in a convenient, human-readable form that corresponds to the conventions of the host environment‘s current locale.
blockquote></
因为你可以认为我们最想实现的差异反映的规范,这需要的只是一个
toString() toLocaleString() 可读,可读的格式应在A用户的期望是,应该基于他们的比赛现场。
Converts a date to a string, using the operating system's locale's
conventions.developer.mozilla.org https:///EN /文档/美国/全球_ JavaScript日期对象参考/ / / tolocalestring
toLocaleString behaves similarly to toString when converting a year
that the operating system does not properly format.我只是检查控制台的铬和/或日期的表示格式的差异。希望这是有帮助的。
1
2
3
4 var d = new Date();
console.log(d.toLocaleString()); //"04.09.2016, 15:42:44"
console.log(d.toString()); //"Sun Sep 04 2016 15:42:44 GMT+0300 (FLE Daylight Time)"有很多人,但没有权威。注意的是Mozilla的JavaScript文件,这是ECMAScript for浏览器的版本。其他使用其他浏览器的实现,因此,在将文档是有用的,不是权威(它是a社区维基,这甚至不是Mozilla官方文档)和不一定适用于其他浏览器。
权威的参考是ECMAScript语言规范,在date.prototype.tostring行为都是在浏览器和date.prototype.tolocalestring解释独立条款。
我们的方法是能够实现的字符串是不同的依赖性,这意味着不同的浏览器将返回字符串。