У меня есть код DDay iCal, который принимает события из нашей базы данных SQL и создает файл iCal, чтобы пользователи могли подписаться на интернет-календарь в Outlook или Google Calendar. Он работает отлично, за исключением случаев, когда пользователь в другом часовом поясе синхронизируется с календарем, он отображает время неправильно. Наш веб-сервер находится в центральное время, поэтому пользователь в восточное время будет видеть время за 1 час до фактического времени события. В основном я хочу, чтобы iCal игнорировал часовые пояса и просто показывал время начала и окончания, как оно появляется в моей базе данных. У меня такое чувство, что это будет невозможно, и нам придется самому преобразовать время.Время изменения DDay iCal в Outlook 2010
Dim iCal As iCalendar = New iCalendar()
Dim evt As [Event]
iCal.AddLocalTimeZone()
Dim dtStart As DateTime = dtr_SQL("StartDate").ToString()
Dim dtEnd As DateTime = dtr_SQL("EndDate").ToString()
Dim startDate As iCalDateTime = dtStart.ToUniversalTime()
Dim endDate As iCalDateTime = dtEnd.ToUniversalTime()
evt = iCal.Create(Of [Event])()
evt.Start = startDate
evt.Start.HasTime = True
evt.Start.IsUniversalTime = True
evt.End = endDate
evt.End.HasTime = True
evt.End.IsUniversalTime = True
Это не работает. Я меняю свой компьютер на «Восточное стандартное время», синхронизирую интернет-календарь с Outlook, и когда я запускаю код, он все еще наталкивает время в течение часа внутри Outlook. Я пробовал устанавливать часовые пояса, и он никогда не работает. – GS442
Возможно, я неправильно понял - пользователи выполняют какой-либо код, который вы написали, или они получают доступ непосредственно из встречи Outlook (или назначения Календаря Google), которая уже обработана вашим кодом? – Dustin
Это предназначено для живой передачи iCal, которая синхронизируется с Outlook или Google Calendar. Когда пользователи подписываются на Интернет-календарь в Outlook, он просматривает страницу каждые 5 минут, чтобы получить возможные изменения. – GS442