在javascript编程中,我使用新的Date(aDate)
。
aDate
可以采用dd/MM/yyyy
或MM/dd/yyyy
或yyyy-MM-dd
等任何格式。
但是当使用格式为dd.MM.yyyy
时,除了2015年12月31日之外,所有日期都有效。 new Date("31.12.2015")
返回错误Invalid Date
。
所有其他格式都运行正常。为什么31.12.2015显示错误?
答案 0 :(得分:0)
您可以使用以下代码解析这些非标准日期格式:
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');
答案 1 :(得分:0)
这不仅仅是31,每天都大于12,bcz期待MM.dd.yyyy
,在这个类似的帖子中有一些解决方案:
How to create a new Date() in Javascript from a non-standard date format