Подтвердить что ты не робот

Установка дня недели в javascript

Я использую плагин localgotation phonegap, который указывает, что я могу настроить уведомление для еженедельного уведомления.

Однако, похоже, что объект даты javascript имеет только .getDay(), а не .setDay().

У меня есть json-объект дней недели, которые я хочу настроить,

set_days = {"mon":false, "tues":true,"wed":false,"thurs":true...}

как вы устанавливаете день в javascript? Поскольку он устанавливает уведомление, этот день должен быть в будущем, поэтому я не хочу получать самую последнюю "среду", но только следующую "среду".

вот ссылка на плагин, но я не думаю, что это действительно специфично для плагина.

4b9b3361

Ответ 1

как вы устанавливаете день в javascript?

Ты имеешь в виду, на текущей неделе? Когда начинается неделя?

Предполагая, что он начинается в воскресенье (как в getDay: 0 - воскресенье, 1 - понедельник и т.д.), это будет работать:

var date, daytoset; // given: a Date object and a integer representing the week day

var currentDay = date.getDay();
var distance = daytoset - currentDay;
date.setDate(date.getDate() + distance);

Чтобы установить дату в будний день в течение следующих 7 дней, используйте это:

var distance = (daytoset + 7 - currentDay) % 7;

Ответ 2

Вы можете создать метод setDay:

Date.prototype.setDay = function(dayOfWeek) {
    this.setDate(this.getDate() - this.getDay() + dayOfWeek);
};

Затем установите дату на следующей неделе в среду:

var d = new Date();
d.setDay(10);