estoy un poco perdido en la zona horaria :)convertir la hora local, de alguien a la hora UTC
tengo datos almacenados con el tiempo en UTC. El servidor está en los Países Bajos, entonces vivimos en utc + 1 (ahora, con daylightsavingtime, en utc + 2)
Ahora un cliente dice: dame los datos del 5 de agosto.
así que tengo que calcular el tiempo UTC de 'su tiempo'. Para que tengo que saber:
lo que es su desplazamiento UTC (que se almacena en su perfil que, digamos -6 GMT) que están en daylightsavingtime (porque entonces hay que añadir 1 y hacer que el desplazamiento UTC -5)
Entonces mis preguntas:
¿Puedo pedir el marco .Net: ¿tiene el país XX tener daylightsavingtime?
¿Puedo pedir el marco .Net: es 08-05-2010T00: 00: 00 en el país XXX daylightsavingtime en ese momento?
he estado tratando el .ToLocalTime(), pero esto sólo me da la hora local en el servidor, y eso no es lo que quiero de, quiero calcular con la zona horaria del usuario, y también con el hecho de que en ese momento en particular, si él/ella está en daylightsavingtime
también he visto este ejemplo VB:
TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone)
pero en mi humilde opinión esto no toma en cuenta que el usuario en esta zona horaria está o no está en un país de horario de verano (dst). Por ejemplo, un usuario en esta zona horaria está en los países bajos que tienen dst, y otro está en otro país que no tiene dst.
pregunta relacionada - http://stackoverflow.com/questions/2532729/daylight-saving-time-and-timezone-best-practices – Oded
gran recurso! – Michel