gpt4 book ai didi

JavaScript 验证日期并返回日历的最后可用日期

转载 作者:行者123 更新时间:2023-11-30 15:26:40 25 4
gpt4 key购买 nike

如果日历中没有日期,我想验证我的日期,然后返回日历的最后可用日期,

例子01

Input Date    : 31-Feb-2017 
Return Result : 28-Feb-2017

例子02

Input Date    : 31-March-2017
Return Result : 31-March-2017

例子03

Input Date    : 31-Apr-2017
Return Result : 30-Apr-2017

例子04

Input Date    : 31-Jun-2017
Return Result : 30-Jun-2017

带有叶年的示例 05

Input Date    : 31-Feb-2020 
Return Result : 29-Feb-2020

这是我第一次尝试使用以下函数验证日期,我如何为上述日期制定逻辑。

function isValidDate(year, month, day) {
var d = new Date(year, month, day);
if (d.getFullYear() == year && d.getMonth() == month && d.getDate() == day) {
return true;
}
return false;
}

最佳答案

该月的最后一天由下个月的零日给出,因此:

function getDate(year, month, day) {
var d = new Date(year, month, day);
if (d.getMonth() == month) {
return d;
}
return new Date(year, +month + 1, 0);
}

console.log(getDate(2017,1,29).toString());
console.log(getDate(2017,0,32).toString());

顺便说一句,要测试有效日期,您只需要测试月份,因为如果月份大于一年中的月份,它将同时影响月份和年份。如果天数大于该月的天数,它也会影响该月。没有任何影响年份(除非您传递的年份小于 100,在这种情况下,它被视为 1900 + 年份)。

关于JavaScript 验证日期并返回日历的最后可用日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42851467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com