Frage

Gibt es eine Möglichkeit, eine Erinnerung am Wochentag zu erinnern? Zum Beispiel, wenn ich jeden Freitag um 10 Uhr eine Erinnerung möchte.

Was ist der beste Weg, um diese Aufgabe zu erfüllen?

Ich glaube, ich habe über eine Art Stundenberechnung nachgedacht. Ich hoffe, dass es eine einfachere Möglichkeit gibt, das zu tun, was ich tun möchte.

Aktualisieren:

In meiner Frage geht es mehr darum, wie Sie herausfinden können, wie Sie die Erinnerung für einen bestimmten Tag festlegen können, auch wenn dies heute nicht der Fall ist. Nehmen wir also an, heute ist Mittwoch und ich möchte eine Erinnerung für jeden Freitag (oder einen Tag der Woche) erinnern ... wie würde ich das erreichen?

War es hilfreich?

Lösung

Da die Erinnerung eine datetime benötigt, ist es ziemlich einfach. Jede Anwendung hat maximal 50 Erinnerungen:

DateTime dateTime = DateTime.Now; //First Friday at 10am
for (int i = 0; i < 50; i++)
{
    Reminder reminder = new Reminder("MyReminder")
    reminder.Content = "Reminder";
    reminder.BeginTime = dateTime.AddDays(i * 7);

    ScheduledActionService.Add(reminder);
}

-or oder dies kann funktionieren.

Reminder reminder = new Reminder("MyReminder")
reminder.Content = "Reminder";
reminder.BeginTime = DateTime.Now; //First Friday at 10am
reminder.Content = "Reminder";
reminder.ExpirationTime = DateTime.Now.AddDays(52 * 7);
reminder.RecurrenceType = RecurrenceInterval.Weekly; 

ScheduledActionService.Add(reminder);

BEARBEITEN

So bekommst du das nächste Wochentag

private DateTime GetNextDay(string dayOfWeek)
{
    for (int i = 0; i < 7; i++)
    {
        DateTime currentDateTime = DateTime.Now.AddDays(i);
        if (dayOfWeek.Equals(currentDateTime.ToString("dddd")))
            return currentDateTime;
    }

    return DateTime.Now;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top