javascript - 在 JS/Prototype 中获取一个月中的天数

标签 javascript date

我正在寻找一种方法,它返回给定月份的所有天。我在标准 date() functions 中找不到任何有用的东西.

即:

getDays(2010-05) // returns something like:

{ day:'Saturday', date:'2010-01-05' },
{ day:'Sunday', date:'2010-02-05' },
{ day:'Monday', date:'2010-03-05' }[...]

就在每月 5 月的第一天(星期六,01)和最后一天(星期一,31)也很好。

最佳答案

您可以自己轻松完成此操作。 Javascript“Date”对象对于这样的事情有很大的帮助:

function listDays(monthNumber) {
  var days = [],
    today = new Date(),
    d = new Date(today.getFullYear(), monthNumber, 1);

  while (d.getMonth() == monthNumber) {
    days.push({ "date": d.getDate(), "weekday": d.getDay()});
    d.setDate(d.getDate() + 1);
  }
  return days;
}

这只以数字形式返回月份中的天数,但可以很容易地使用星期名称数组进行扩展:

function listDays(monthNumber) {
  var days = [],
    today = new Date(),
    d = new Date(today.getFullYear(), monthNumber, 1),
    weekdays = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];

  while (d.getMonth() == monthNumber) {
    days.push({ "date": d.getDate(), "weekday": weekdays[d.getDay()]});
    d.setDate(d.getDate() + 1);
  }
  return days;
}

关于javascript - 在 JS/Prototype 中获取一个月中的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2913843/

相关文章:

javascript - 当涉及选项卡时,是否对从我的 React JS 站点复制/粘贴到 excel 的行为感到困惑?

javascript - 为什么重新加载在ajax中不可见,但在控制台中可见?

javascript - 动态内容上的滑动切换

java - 格式化日期以获取年份数字的最后两位数字(例如 : 19 from 2019)

javascript - 没有正确倒计时

javascript - 使用 node.js 从 Google Drive 读取二进制文件

javascript - webpack 开发和生产构建模式有什么区别?

javascript - 在 Javascript/NodeJS 中返回调整时区的当前日期,然后在早上 6 点找到相当于用户时间的 UTC

Vb.net 当前日期减去日期

javascript - 以 (mm/dd/yy) 格式手动输入日期