Firefox new Date()适用于无效日期
Firefox new Date() works for invalid date
当我在Firefox控制台中运行时:
new Date('25/04/2016')
它创建以下日期:
Date 2018-01-04T05:00:00.000Z
它似乎试图从01/04/2016
增加25个月,并最终达到01/04/2018
。这是预期的行为吗?我本以为它会导致一个错误,而不是试图解析一个荒谬的日期。
Chrome返回一个无效日期。
进一步说明-当使用带有单个字符串参数的Date构造函数时,这相当于使用Date.parse.
发件人:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
ECMA-262定义的未识别为ISO格式的日期字符串中的无效值可能会也可能不会导致NaN,这取决于浏览器和提供的值,例如:
// Non-ISO string with invalid date values
new Date('23/25/2014');
在Firefox 30和Safari 7中的无效日期。
原始答案如下:
这确实是Firefox中的预期行为。
发件人:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
注意:当Date被调用为具有多个参数的构造函数时,如果值大于其逻辑范围(例如,13被提供为月值或70被提供为分钟值),则相邻的值将被调整。例如,新日期(2013,13,1)相当于新日期(2014,1,1),两者都为2014-02-01创建了一个日期(请注意,该月基于0)。对于其他值类似:新日期(2013,2,1,0,70)等同于新日期(2013,2,1,10),这两个值都创建了2013-03-01T01:10:00的日期。
根据评论建议更新:
来自同一来源的进一步文件:
注意:由于浏览器差异和不一致,强烈建议使用date构造函数(和date.parse,它们是等效的)解析日期字符串
因此,是的,当你使用字符串时,不同的浏览器=不同的结果,因此不鼓励这样做。
- AddEventListener适用于浏览器,但不适用于Android
- 查找仅适用于原始图像的图像放大算法的名称
- 如何在category.php中执行jquery,这应该适用于类别wordpress中的每个帖子
- Web编程,简单但适用于机器人项目
- JavaScript不适用于internet explorer和Firefox,但适用于谷歌
- Jquery事件处理程序仅适用于匿名函数
- jQuery调整大小函数只适用于窗口
- 火灾在卸载前确认警报仅适用于外部站点
- EmberJS-适用于各种模型的适配器动态名称空间
- Facebook共享链接适用于用户,但不适用于粉丝页面管理员
- jQuery-适用于移动设备的多级菜单
- 循环中的切换脚本只适用于第一次迭代
- 为什么setTimeout适用于无休止的递归调用
- 我未保存的更改指令需要适用于具有不同名称的所有表单
- 适用于多种浏览器的Selenium-需要能够执行javascript的webDriver
- Sails.js/Waterline.add()和.remove()仅适用于第二次调用
- jQuery点击事件仅适用于横向(iPhone)
- HTML5 Canvas toDataURL(“image/png”)适用于一些绘画,而有些则不然,不确定原因
- jQuery表单验证(如果==“执行此操作”)仅适用于第一次输入
- Firefox new Date()适用于无效日期