J'essaie de permettre à un utilisateur de télécharger un calendrier iCal pour ASP.Net, mais j'ai un problème de fuseau horaire.Problème de fuseau horaire iCal
Si je télécharge le fichier sur mon ordinateur, l'heure apparaît correcte et dans les délais corrects. Cependant, quand j'essaye de le télécharger sur un téléphone, le fuseau horaire change et il devient 5 heures de retard (aka 7:00 AM devient 3:00 AM).
Est-ce que quelqu'un sait comment résoudre ce problème/définir le fuseau horaire?
Voici le code:
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();
La version d'objet DDay d'iCalendar n'est-elle pas la méthode de prédilection? Dois-je écrire dans le flux à la place? – Jestus
Je ne suis pas familier avec cette API particulière, mais je serais très surpris si cela ne vous permet pas de faire ce que j'ai décrit ci-dessus. – arnaudq