如何修复 FF 和 IE 中的 Javascript 无效日期错误
how to fix Javascript Invalid Date Error in FF and IE
我有一个格式为 11-May-16
的日期,我想使用构造函数 new Date('11-May-16')
.
创建一个日期实例
但是在 Internet Explorer 和 Firefox 中它不起作用。
如何解决?
Date()
构造函数(调用 Date.parse(...)
) are IETF-compliant RFC 2822 timestamps and ISO8601.
官方支持的唯一格式
任何其他格式都是特定于实现的,可能不支持跨浏览器。
创建日期的一种快速、无依赖性的方法是自己解析它。例如,使用正则表达式:
function parseDate(date) {
var MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', ...];
var date = '11-May-16';
var match = date.match(/(\d{2})-([A-Za-z]{3})-(\d{2})/);
return new Date(2000 + parseInt(match[3]), MONTHS.indexOf(match[2]), match[1]);
}
parseDate('11-May-16')
-> Wed May 11 2016 00:00:00
我有一个格式为 11-May-16
的日期,我想使用构造函数 new Date('11-May-16')
.
但是在 Internet Explorer 和 Firefox 中它不起作用。
如何解决?
Date()
构造函数(调用 Date.parse(...)
) are IETF-compliant RFC 2822 timestamps and ISO8601.
任何其他格式都是特定于实现的,可能不支持跨浏览器。
创建日期的一种快速、无依赖性的方法是自己解析它。例如,使用正则表达式:
function parseDate(date) {
var MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', ...];
var date = '11-May-16';
var match = date.match(/(\d{2})-([A-Za-z]{3})-(\d{2})/);
return new Date(2000 + parseInt(match[3]), MONTHS.indexOf(match[2]), match[1]);
}
parseDate('11-May-16')
-> Wed May 11 2016 00:00:00