Недельное увеличение с использованием Javascript

Я работаю над приложением напоминаний, использующим Phonegap [Javascript + Html5], в котором пользователь вводит еженедельное задание, о котором ему хотелось бы напомнить, и я должен предупреждать об этом каждую неделю в этот день.

Теперь дело в том, что я использую плагин Phonegap Local Notification, чтобы оповещать уведомления, этот плагин берет дату, чтобы предупредить вовремя.

Как я могу дать нужную дату каждую неделю.. т.е.: Как я могу увеличить счетчик, когда день заканчивается?

Обычно, если дата, если заранее известен: я использую эту функцию:

 if (typeof plugins !== "undefined")
                       {
                        var RId = 0;
                        var rDate =new Date();
                        var RemDate = reminder_deadline.split("T")[0];
                        var RemTimeB = reminder_deadline.split("T")[1];
                        var RemTime = RemTimeB.split("Z")[0];
                        var RYear = RemDate.split("-")[0];
                        var RMonth = RemDate.split("-")[1];
                        var RMonth = RMonth-1;
                        var RDay = RemDate.split("-")[2];
                        var RHour = RemTime.split(":")[0];
                        var RMinute = RemTime.split(":")[1];
                        var RSecond = RemTime.split(":")[2];
                        alert(RYear+".."+RMonth+".."+RDay+".."+RHour+".."+RMinute+".."+RSecond);
                        rDate.setFullYear(RYear);
                        rDate.setMonth(RMonth);
                        rDate.setDate(RDay);
                        rDate.setHours(RHour);
                        rDate.setMinutes(RMinute);
                        rDate.setSeconds(RSecond);
                        plugins.localNotification
                        .add({ 
                            date: rDate,
                            message: reminder_name, 
                            id: RId
                             });
                             }
                             RId++;
             }

Но теперь пользователь просто войдет в понедельник... и я должен уведомлять его каждый понедельник... Так можно ли это сделать?

1 ответ

var today = new Date();
var nextWeek = new Date();
nextWeek.setDate(nextWeek.getDate() + 7);

Вот фрагмент, который дает вам последний понедельник. Если вам нужен другой день, просто отредактируйте строку var daysOffMonday соответственно (0= воскресенье, 1= понедельник, ...)

Затем с помощью приведенного выше фрагмента вы можете получить следующий понедельник, следующий за ним и т. Д.

​var today = new Date();

​var dayOfWeek = today.getDay();
var daysOffMonday = 1 - dayOfWeek;
var lastMonday = new Date();
lastMonday.setDate(lastMonday.getDate() + daysOffMonday);

​alert(lastMonday);​
Другие вопросы по тегам