javascript日期对象解析方法是"乐观",也就是说,它填写了尽早发布的信息。
e.g。
new Date('January 2016'); // = Jan 01 2016
new Date('2016'); // = Jan 01 2016
我想要一个悲观的解析,它会返回给定输入字符串的最新可能日期。
e.g。
new Date('January 2016'); // = Jan 31 2016
new Date('2016'); // = Dec 31 2016
我很可能会手动检查输入组件并填充最大值,但我想知道是否有一种简单的方法可以做到这一点。
谢谢!
答案 0 :(得分:0)
var months = {
"January":31,
"February":28,
"March":31,
"April":30,
"May":31,
"June":30,
"July":31,
"August":31,
"September":30,
"October":31,
"November":30,
"December":31
}
var date = new Date(Object.keys(months)[0] + " "
+ months["January"] + " "
+ "2016");
答案 1 :(得分:0)
这是我当场能想到的最好的。根据您的日期格式使用其中一个函数:这是一个JSFiddle:http://jsfiddle.net/7jzqh561/
function convertToPessimisticDate(date) {
var getMonthPlus1 = parseInt(date.getMonth())+1;
var getYear = date.getFullYear();
return new Date(getYear, getMonthPlus1, 0);
}
function convertToPessimisticMonth(date) {
return new Date(date.getFullYear(), 11, 31);
}