Trabajando con distintas zonas horarias
Tenemos un escenario bastante complejo pero creo que es sencillo de explicar y que quede claro.
Estamos desarrollando un ejecutador de tareas que corre en un servidor con una timezone indiferente.
Las tareas se tienen que ejecutar cada dia pero a una hora definida para una cierta timezone
Guardamos en base de datos la hora a la que queremos ejecutar la tarea y de que timezone es (no vayas al pozo de guardar en UTC, ya que cuando tengas DST será a horas distintas)
Lo que queremos es que cuando obtengamos nuestra tarea de la DB, convertir el 02:00 Europe/Madrid ya sea a UTC o a local (servidor)
He encontrado la clase HS.Timezone.Server.Service pero no soluciona ningun problema.
¿Hay algun método en intersystems para hacer estas conversiones a timezone y a utc o local?
Hola Mathew,
¿Le has echado un vistazo a Ens.Util.Time?
Te puede servir para convertir horas entre zonas horarias, sabiendo el offset sobre UTC.
Si, pero el problema radica ahí, en saber el offset.
Otros sistemas integran la tzdatabase a fecha de lanzamiento (py, java) y a priori parecería que HS.Timezone.Server.Service también, pero no estamos seguros