每周提醒许多天和多次

本文关键字:许多天 每周 | 更新日期: 2023-09-27 18:31:25

我有一个日期和时间列表,我想为所有日子创建一个提醒。示例:每周周一上午 10 点上午 12 点 15 点周五上午 10 点上午 12 点 15 点周六上午 10 点上午 12 点 15 点。我知道一个应用程序可以存储 50 个提醒,但我认为用户在:D之前打开应用程序

今晚我不明白我心中的逻辑:(请帮助我。此致敬意

我有一个日期清单。示例:星期一星期二星期六,我想提醒整个星期的dat tree日。

private ObservableCollection<Day> _days;
        public ObservableCollection<Day> Days
        {
            get { return _days; }
            set { _days = value; RaisePropertyChanged("Days"); }
        }

创建提醒:

Reminder r = new Reminder("Time To Train!!!");
r.Content = AppResources.TimeToTrain;
r.BeginTime = //Here the problem;
r.ExpirationTime = //Here the problem //DateTime.Now.AddDays(52 * 7));
r.RecurrenceType = RecurrenceInterval.Weekly;
r.NavigationUri = new Uri("/View/MainPage.xaml", UriKind.RelativeOrAbsolute);
ScheduledActionService.Add(r);

我看这篇文章是为了得到一些想法。Windows Phone 7 提醒。我有一份时间清单。示例上午 10:14 下午 17:00。

private ObservableCollection<DateTime> _times;
            public ObservableCollection<DateTime> Times
            {
                get { return _days; }
                set { _days = value; RaisePropertyChanged("Times"); }
            }

我现在想为所有时间、所有日期创建提醒。周一上午 10:14 和下午 17:00/周二

每周提醒许多天和多次

上午 10:14 和下午 17:00/周六上午 10:14 和下午 17:00 提醒
因此,

假设您想为星期一上午 12 点创建提醒。我首先创建一个方法来找出未来星期一的第一个"出现",如下所示:

private DateTime getFirstDate(DayOfWeek day, TimeSpan time)
        {
            DateTime date = DateTime.Today;
            while(date.DayOfWeek != day)
                date.AddDays(1);
            return new DateTime(date.Year,date.Month,date.Day,time.Hours,time.Minutes,time.Seconds);
        }

然后在代码中使用它,如下所示:

r.BeginTime = getFirstDate(DayOfWeek.Monday, new TimeSpan(12,0,0));

它只为最近的星期一创建一个提醒,但是当触发此提醒时,您可以做同样的事情 - 为下一个星期一创建一个。