new Date()的浏览器兼容性(NAN)问题

1

2

3

4

5

6

var timestart = '2010-05-04';

var timeend = '2015-04-01';

var time1 = (timestart).toString();

console.log(time1);

扫描二维码关注公众号,回复: 4485082 查看本文章

var time2 = (timeend).toString();

timestart = new Date(time1);

timeend = new Date(time2);

问题就在于 new Date(time1)这个构造函数无法正确的生成Date对象,console.log(time1)返回值为NaN.,问题在哪里呢?

正确的做法

1

2

3

4

var time1 = (timestart).toString();

var time2 = (timeend').toString();

timestart = new Date(Date.parse(time1.replace(/-/g,"/"))).getTime();

timeend = new Date(Date.parse(time2.replace(/-/g,"/"))).getTime();

主要的变化是对默认的日期格式进行了转换, 基于'/'格式的日期字符串,才是被各个浏览器所广泛支持的,‘-’连接的日期字符串,则是只在chrome下可以正常工作。

知识点总结

'2015-05-04'是无法被各个浏览器中,使用new Date(str)来正确生成日期对象的。 正确的用法是'2015/05/05'.

猜你喜欢

转载自blog.csdn.net/zhangbw2016/article/details/84877594