1
我想让用户在ASP.Net中下载他们的日历的iCal,但我有一个时区问题。iCal时区问题
如果我在计算机上下载该文件,则时间显示正确并且在正确的时间范围内。但是,当我尝试在手机上下载时,时区会切换,并且会变为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();
iayale的DDay对象版本不是做事的首选方式吗?我应该写信给流吗? – Jestus
我对这个特定的API并不熟悉,但是如果它不允许您按照上面所述进行操作,我会感到非常惊讶。 – arnaudq