Я пытаюсь разрешить пользователю загружать iCal для своего календаря в ASP.Net, но у меня проблема с часовым поясом.iCal Time Zone issue
Если я загружаю файл на своем компьютере, время отображается правильно и в правильные временные рамки. Однако, когда я пытаюсь загрузить его на телефоне, часовой пояс переключается, и он на 5 часов отстает (ака 7:00 AM становится 3:00 AM).
Кто-нибудь знает, как исправить эту проблему/установить часовой пояс?
Вот код:
iCalendar iCal = new iCalendar();
Event evt = iCal.Create<Event>();
DateTime dt = (DateTime)Convert.ToDateTime(lblTicketDue.Text);
Console.Write(dt);
evt.Start = new iCalDateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
evt.End = new iCalDateTime((DateTime)Convert.ToDateTime(lblTicketDue.Text).AddMinutes(15.0));
Alarm alarm = new Alarm();
alarm.Action = AlarmAction.Display;
alarm.Summary = "Ticket due!";
Trigger t = new Trigger();
iCalDateTime icdt = new iCalDateTime(dt.Subtract(TimeSpan.FromMinutes(120.0)));
t.DateTime = icdt;
alarm.Trigger = t;
evt.Alarms.Add(alarm);
iCal.Events.Add(evt);
iCalendarSerializer serializer = new iCalendarSerializer();
string output = serializer.SerializeToString(iCal);
Response.ContentType = "text/calendar";
Response.Write(output);
Response.End();
Является ли версия объекта iCalendar объектом DDay не предпочтительным способом? Должен ли я писать в поток вместо этого? – Jestus
Я не знаком с этим конкретным API, но я был бы очень удивлен, если бы он не позволял вам делать то, что я описал выше. – arnaudq