getDay
возвращает целое число, обозначающее день недели: 0 - воскресенье, 1 - понедельник, 2 - вторник, и т.д.
Пример: День запуска спутника
var sputnikLaunch = new Date("October 4, 1957 19:28:34 GMT")
// Жители Москвы получат пятницу, а жители Владивостока - субботу
day = sputnikLaunch.getDay()
Скажите, пожалуйста, исходя из каких данных метод высчитывает день недели?
У меня в селект 31 день не зависимо от месяца. Может быть, что от этого выходные у меня сдвигаются соответственно? Если я в нужных месяцах просто прячу значение 31, чтобы пользователь не выбирал несуществующий день, то это ведь не помогает вычислять выходные правильно.
мой отрывок:
var tagSelectBox = document.getElementById("tag");
var tag = tagSelectBox.options[tagSelectBox.selectedIndex].value;
var monatSelectBox = document.getElementById("monat");
var monat = monatSelectBox.options[monatSelectBox.selectedIndex].value;
var besuchsDatum = new Date(2012, monat, tag);
var wtag = besuchsDatum.getDay();
Хотя вообще-то я думала, что getDay() работает не от моих данных, а от мирового порядка вещей.
Сразу извинюсь за глупый вопрос, опыта ноль, я только учусь.
Количество дней в месяце можно получить:
var maxDays = 32 - new Date(year, month, 32).getDate();
ну а потом в селекте уберай/прячь соответсвующие
Функция-то работает по мировому календарю, но вот указание несуществующего номера дня в конструкторе "new Date(2012, monat, tag)" приводит к корректировке даты, и, например, 31 апреля становится 1 мая, что Вы могли принять за добавление нового выходного в апреле, если 1 мая воскресенье. Можете просто проверять, каким стал месяц после вызова конструктора.