javascript:new Date(“31.12.2015”)返回无效日期

javascript: new Date("31.12.2015") returning Invalid Date

本文关键字:2015 返回 日期 无效 new Date javascript      更新时间:2023-09-26

在javascript编程中,我使用新的Date(aDate)

aDate可以是任何格式,如dd/MM/yyyyMM/dd/yyyyyyyy-MM-dd等。

但当使用dd.MM.yyyy格式时,除2015年12月31日外,所有日期都有效。CCD_ 7返回错误CCD_。

所有其他格式都运行良好。为什么2015年12月31日显示错误?

您可以使用以下代码解析这些非标准日期格式:

var da = '31.12.2015'.split('.').map(function(d) {
  return parseInt(d);
});
var d = new Date(da[2], da[1] - 1, da[0]);

或者像moment.js这样的时间格式化库,如果你正在做很多关于日期和时间的事情,并且需要考虑边缘情况。

var d = moment('31.12.2015', 'DD.MM.YYYY');

这不仅仅是31,每天都大于12,bcz预计MM.dd.yyyy,在这个类似的帖子上有一些解决方案:

如何使用非标准日期格式在Javascript中创建新的Date()