我期望 31,因为这个 10 月有 31 天,我的代码的哪一部分在这里是错误的?
function lastDayOfMonth(given_month) {
var d = new Date();
d.setDate(0);
d.setMonth(given_month);
return d.toISOString();
}
console.log(lastDayOfMonth(given_month))
2016-10-30T13:16:14.227Z
最佳答案
d.setDate(0);
将日期设置为上个月的最后一天。即,如果您在 10 月份运行此脚本,则日期将设置为 9 月 30 日。
然后运行
d.setMonth(given_month);
这会设置月份,但保留月份中的某一天。我假设给定的月份是 9(即 10 月),因此结果将是 10 月 30 日。
参见https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate了解更多信息。
关于javascript - setDate 不返回该月的最后一天 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40343332/