如何使用JavaScript验证日期如果是月份的最后一天?

问题描述

| 如何使用javascript验证用户输入日期是该月的最后一天?     

解决方法

        (更新:请参见底部的最后一个示例,其余部分作为背景。) 您可以在
Date
实例中添加一天,并查看月份是否发生了变化(因为JavaScript的ѭ0intelligent对象智能地修复了无效的月度值),例如:
function isLastDay(dt) {
    var test = new Date(dt.getTime()),month = test.getMonth();

    test.setDate(test.getDate() + 1);
    return test.getMonth() !== month;
}
免费现场例子 ...或者正如paxdiablo所指出的,您可以检查每月的结果,这可能更快(减少了一个函数调用)并且肯定短了一些:
function isLastDay(dt) {
    var test = new Date(dt.getTime());
    test.setDate(test.getDate() + 1);
    return test.getDate() === 1;
}
另一个免费示例 如果愿意,您可以在其中嵌入更多逻辑以避免创建临时日期对象,因为它实际上仅在2月才需要,其余的只是表格查找,但是上述两者的优点是它们可以推迟所有日期数学到JavaScript引擎。创建对象不会花费太多的钱。 ...最后:由于JavaScript规范要求(第15.9.1.1节),一天的长度恰好为86,400,000毫秒(实际上,天的长度略有不同),因此我们可以通过添加一天来缩短上述时间:
function isLastDay(dt) {
    return new Date(dt.getTime() + 86400000).getDate() === 1;
}
最后的免费示例     ,        浏览器将第0天标识为上个月的最后一天
var month = 0; // January
var d = new Date(2008,month + 1,0);
alert(d); // last day in January
如此处所示:用javascript计算每月的最后一天 您可以简单地使用用户插入的月份+ 1和day = 0来检查他是否插入了该月的最后一天。     ,        假设您得到了:
var month = getMonthFromUserInput();
var year = getYearFromUserInput();
这将给出该月的最后一天
new Date((new Date(year,month,1)) -1 )
请记住,第0个月是1月     ,        这是可行的。
var   lastday   =   new   Date(new   Date().getFullYear(),new   Date().getMonth()+1,0).getDate();
希望对你有帮助。     ,        
function isLastDayOfMonth(date){
    return date.getDate() == new Date(date.getFullYear(),date.getMonth()+1,0).getDate();
}
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...