https://foro.gambas-es.org/viewtopic.php?f=1&t=3541&p=19999#p19999
-----------------------------------
gatoviejo
Jueves, 26 Diciembre 2013, 11:15

[SOLUCIONADO] Re: Convertir Una Fecha-hora De Hora UTC A Hora Local
-----------------------------------
Muchas gracias por poner hasta la rutina, la verdad es que no me esperaba tanto. Lo que pretendía era saber si había alguna función nativa que lo hiciera; no había encontrado ninguna y tampoco me sonaba nada por sistema operativo, aunque la información existe (/usr/share/zoneinfo) de la que se alimenta mysql.

Para completar la rutina de jsbsan, se tendría que añadir que el cambio se hiciera el último domingo del año. Para calcularlo se puede utilizar:
[code linenumbers=false syntax=gambas]Public Function UltimoDomingoMes(Anyo As Integer, Mes As Integer) As Date
  Dim Fecha As Date

  Fecha = Val("01/" & Mes & "/" & anyo)

  Return DateAdd(Fecha, gb.Day, - WeekDay(Fecha)
End
[/code]

Con esto para mis necesidades es suficiente, pero si alguien quiere realizar una rutina más genérica tiene que tener en cuenta que el cambio de hora está regulado por ley y por lo tanto puede cambiar. En el presente está regulado por la directiva europea 2000/84 que es la que establece que el último domingo de marzo a las 02:00h se adelanta una hora y el último domingo de octubre a las 03:00h se retrasa una hora. Esto se revisa cada 5 años, por lo que en un futuro puede cambiar.

Además hay que tener en cuenta que no siempre ha sido así ni mucho menos:
Por geografía, España está en el huso horario de Greenwhich (de hecho, el meridiano pasa cerca de Castellón) y deberíamos tener la misma hora que Gran Bretaña y Portugal, pero por decisión política del año 1940, pasamos a tener la hora de Europa Central. Últimamente en el Congreso español se ha debatido si deberíamos volver al horario natural o no.
Por otro lado, el cambio de hora en verano se aplica en España desde 1974, pero el cambio se producía en marzo y septiembre y en el año 1996 se cambió al actual de marzo-octubre.

Como podéis ver, si alguien tiene un necesidad que abarque un periodo de tiempo más o menos grande del pasado, la rutina se puede complicar todo lo que se quiera.

Saludos


