javascript - 在 Javascript 中获取给定月份 x 天的最后日期

标签 javascript datetime calendar

我一直在尝试找出如何在 JavaScript 中获取一个月最后 x 天的日期而不使用循环。我确信它与使用模运算符有关,但我无法完全正确地得到公式:-(

例如,本月最后一个星期一的日期 (06/2013) 将是 24 号。

有人能解释一下吗?这让我发疯!

提前致谢。

编辑

我想我现在已经可以使用它了,这要归功于了解了 date.js 是如何做到的,我已经很接近我所拥有的了!

function getLastDay(year, month, dayOfWeek)
{
    var d = new Date(year, month, 0);
    var diff = (dayOfWeek - d.getDay() + 7 * -1) % 7;

    return new Date(year, month-1, d.getDate() + diff);
}

// Last Monday in for January 2013
getLastDay(2013, 1, 1); // Mon Jan 28 2013 00:00:00 GMT+0000 (GMT Standard Time)

最佳答案

抱歉,一开始误读了您的问题。编辑我的回复。

如果您愿意使用库,请尝试 date.js.

您可以使用moveToNthOccurence使用 -1 来获取该月中某一天的最后一次出现。

所以:

Date.today().moveToNthOccurrence(1, -1)

应该给你这个月的最后一个星期一。

关于javascript - 在 Javascript 中获取给定月份 x 天的最后日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044396/

相关文章:

javascript - 如何在 Strongloop 环回脚手架项目中覆盖基本用户?

javascript - 如何在javascript中对键/值对象进行排序?

javascript - 使用 jQuery 拖动面板以显示 div。这太痛苦了

JavaScript eval() JSON 问题

sql - 在 SQL Server 中使用 DATEPART 时出现错误的周数

JavaFX 展望如日历

java - 如何将 SimpleDateFormat 与日历一起使用?

datetime - ColdFusion 时区支持?

bash - 使用 BASH 为目录中的每个文件设置自定义时间并以秒为增量

c# - masterpage initializeculture 找不到合适的方法来覆盖错误?