在处理时间问题的时候,遇到了一个bug,关于toLocaleDateString()在不同浏览器下的解析结果。
代码如下
浏览器解析结果如下
可以看到谷歌,火狐等浏览器的输出结果是这种格式的 *2017/1/26*,
但是在测试兼容性问题的时候发现,ie有了bug,原因是其日期的toLocaleDateString()输出的结果是:*2017年01月26日*。
也就是说格式不对。所以用toLocaleDateString()这个方法无法达到兼容效果。后来用valueOf()或者getTime()替换toLocaleDateString(),做了对应的处理就可以了。
关于valueOf()
定义和用法
valueOf() 方法返回 Date 对象的原始值。
该原始值由 Date 对象派生的所有对象继承。
valueOf() 方法通常由 JavaScript 在后台自动调用,并不显式地出现在代码中。
返回值
date 的毫秒表示。返回值和方法 Date.getTime 返回的值相等。
关于getTime()
定义和用法
getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
返回值
dateObject 指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。
注释:该方法总是结合一个 Date 对象来使用。