如何验证日期是否是本月最后一天的javascript?

前端之家收集整理的这篇文章主要介绍了如何验证日期是否是本月最后一天的javascript?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何验证用户输入日期是本月的最后一天使用 javascript

解决方法

(更新:请参阅底部的最后一个例子,其余的作为背景留下)

您可以向Date实例添加一天,并查看月份是否更改(因为JavaScript的Date对象智能地修复了无效的日期月份值),例如:

function isLastDay(dt) {
    var test = new Date(dt.getTime()),month = test.getMonth();

    test.setDate(test.getDate() + 1);
    return test.getMonth() !== month;
}

Gratuitous live example

…或正如paxdiablo所指出的那样,您可以检查所产生的日期,这可能更快(一个更少的函数调用),肯定有点短:

function isLastDay(dt) {
    var test = new Date(dt.getTime());
    test.setDate(test.getDate() + 1);
    return test.getDate() === 1;
}

Another gratuitous live example

您可以在其中嵌入更多的逻辑,以避免创建临时日期对象(如果您喜欢),因为它真的只需要在二月份,其余只是一个表查找,但上述两者的优点是他们将所有日期数学延迟到JavaScript引擎.创建对象不会太昂贵,不用担心.

…最后:由于JavaScript specification要求(第15.9.1.1节),一天正好是86,400,000毫秒(实际上是vary in length天),所以我们可以通过添加日期来使上述更短:

function isLastDay(dt) {
    return new Date(dt.getTime() + 86400000).getDate() === 1;
}

Final gratuitous example

猜你在找的JavaScript相关文章