我一直在尝试找出如何在 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/