如何修复 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