1

我一直在试图弄清楚如何在不使用循环的情况下在 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)
4

1 回答 1

0

对不起,一开始看错了你的问题。编辑我的回复。

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

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

所以:

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

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

于 2013-06-11T13:09:38.410 回答