0

我正在尝试从今天开始选择接下来 2 周的活动。使用的逻辑非常简单。我得到所有日历,然后选择一个我需要从中提取事件并提供日期范围的日历。我正在从选定的日历中提取日期,但它看起来不像应用了日期范围。现在,我在以下日期安排了 2 个活动。

  • 10 月 8 日
  • 10 月 20 日

我应该只安排在 10 月 20 日举行的活动,但我两者都有。

        CalendarService calService = new CalendarService(calendarAppName);
        calService.setUserCredentials(username, password);

        CalendarQuery calQuery = new CalendarQuery();
        calQuery.Uri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full");
        CalendarFeed calFeed = (CalendarFeed)calService.Query(calQuery);

        var activeCalendar = calFeed.Entries.Where(x => x.Title.Text == calendarName).FirstOrDefault();
        if (activeCalendar != null)
        {
           EventQuery evtQuery = new EventQuery(GetCalendarFeed(activeCalendar));
           evtQuery.StartDate = DateTime.Now.AddDays(-1);
           evtQuery.EndDate = DateTime.Now.AddDays(14);
           evtQuery.FutureEvents = false;

           EventFeed evtFeed = calService.Query(evtQuery);
        }

        ...

        private static string GetCalendarFeed(AtomEntry calendarEntry)
        {
           string feedstring = calendarEntry.Id.AbsoluteUri.Substring(63);
           return string.Format("http://www.google.com/calendar/feeds/{0}/private/full", feedstring);
        }

有人能发现有什么不对吗?

编辑: 事实证明 StartTime/EndTime 工作正常。我真的不明白有什么区别,而且我似乎在文档中找不到任何东西。

4

1 回答 1

0

我只需要使用 StartTime/EndTime 代替。仍然不知道何时使用 StartDate 和 EndDate ,但这确实解决了我的问题。

于 2010-11-26T04:15:52.230 回答