手机版

javascript中日期函数new Date()的浏览器兼容性问题

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

同一种语言的Javascript在不同浏览器中存在语言兼容性问题,本质上是由于不同浏览器支持的语言标准和实现的差异。在本文中,我们将创建一个基于新日期的日期对象来分析这个问题。

1.当问题出现时,开始时间和结束时间空间不能正确传递值

在页面中,我们使用了一个时间组件来开发时间选择框,但是我们发现它在Firefox下不能正常工作,但是在Chrome下可以正常工作。问题在哪里?

2.问题分析

结果分析发现问题是由以下代码引起的:

var time start=' 2010-05-04 ';var time end=' 2015-09-05 ';var time 1=(time start ' 00:00:00 ')。toString();var time 2=(time end ' 23:59:59 ')。toString();时间开始=新日期(时间1);时间结束=新日期(时间2);

问题是构造函数new Date(time1)无法正确生成Date对象,其值为NaN。奇怪的是,问题出在哪里?

3.在各种浏览器上的性能

工业工程下的实施:

Firefox下的实现:

Chrome下的实现:

通过上面的分析,我们可以知道这个javascript脚本在Chrome下可以正确执行,但是在其他浏览器下会报错。

4.正确的方法

以下是正确做法的列表:

var time 1=(time start ' 00:00:00 ')。toString();var time 2=(time end ' 23:59:59 ')。toString();timestart=新日期(Date . parse(time 1 . replace(///-g,'/')))。getTime();timeend=新日期(Date . parse(time 2 . replace(///-g,'/')))。getTime();主要变化是默认日期格式的转换。基于“/”格式的日期字符串被各种浏览器广泛支持,用“-”连接的日期字符串只有在chrome下才能正常工作。

5.知识点总结

浏览器无法使用“2015-09-05”通过使用新的日期(字符串)来正确生成日期对象。正确的用法是“2015年9月6日”。

版权声明:javascript中日期函数new Date()的浏览器兼容性问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。