我正在尝试从今天的日期开始选择接下来两周的活动。 使用的逻辑非常简单。我得到所有日历,然后选择一个我需要从中提取事件并提供日期范围。我从所选日历中提取日期,但它看起来不像日期范围。现在,我有两个活动安排在以下日期。
我应该只在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正常工作。我真的不明白它的区别是什么,我似乎无法在文档中找到任何东西。
答案 0 :(得分:0)
我只需要使用StartTime / EndTime。仍然不知道何时使用StartDate和EndDate,但这确实解决了我的问题。