Necesito almacenar las reglas de cambio de horario de verano (horario de verano) para diferentes regiones del mundo en una base de datos. Ya tengo una forma de almacenar regiones y subregiones (por lo que se ocupa de todo el problema "half of Australia"/Arizona/Navaho), pero me pregunto cuál sería el esquema más eficiente para lograrlo. Las dos opciones como las veo:¿Cuál es la mejor manera de representar las reglas de horario de verano?
- tiene una tabla que contiene única una fila para cada año y la región dando las horas de inicio y fin para el horario de verano, así como la específica de compensación
- tiene una tabla que almacena una fórmula y rango de fecha efectiva para cada región (alcance efectivo requerido para las regiones como Israel)
la ventaja de la primera es la flexibilidad, ya que literalmente nada es posible. Desafortunadamente, también requiere (a) más espacio y, por consiguiente, (b) mucho trabajo para obtener la entrada de datos. El segundo es bueno porque una fila podría corresponder a una región durante décadas, pero también requiere algún tipo de analizador de lenguaje e intérprete en la capa de aplicación. Dado que esta base de datos será utilizada por varias aplicaciones diferentes escritas en idiomas sin poderosas capacidades de procesamiento de texto, preferiría evitar esa ruta.
Me encantaría usar zoneinfo o algo así, pero desafortunadamente esa no es una opción en este caso. Del mismo modo, no puedo normalizar las fechas, la zona horaria y la información de horario de verano deben estar en la base de datos para satisfacer ciertos casos de uso.
¿Alguien tiene alguna experiencia haciendo algo similar? Del mismo modo, ¿alguien tiene alguna opción brillante que pueda haber perdido?
Creo que necesitamos una etiqueta 'DST', el cincuenta por ciento de mi programación está superando el horario de verano. –