получить дни месяца в JS / Prototype - PullRequest
2 голосов
/ 26 мая 2010

Я ищу метод, который возвращает все дни данного месяца. Я не смог найти ничего полезного в стандартных функциях date () .

т.е:.

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

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

Просто день первого дня месяца (суббота, 01) и последний (понедельник, 31) тоже будут замечательными.

1 Ответ

3 голосов
/ 26 мая 2010

Вы можете сделать это самостоятельно довольно легко. Объект 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...