javascript - setDate 不返回该月的最后一天 Javascript

标签 javascript jquery datetime

我期望 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/

相关文章:

javascript - 如何在javascript中获取带有ID的选中复选框值

jquery - 将输入/复选框数据存储到 json 存储 - 按下按钮时

asp.net-mvc - ASP.net MVC - 带有 DateTime 的模型,试图为 jqGrid 的 Json() 序列化

javascript - Javascript 中的 JSON 对象排序

javascript - 禁用 Angular 2 中的行

javascript - 如何在加载 jQuery 时使用 SVGweb 嵌入 SVG(即问题)

javascript - 如何通过 jQuery 添加 div 网络?

ruby-on-rails - 在 ruby​​ 或 Rails 中保存到数据库之前解析本地化日期时间

android - 如何检查字符串是否是有效的 Joda DateTime

javascript - 有没有办法防止来自机器人的点击输入?