https://foro.gambas-es.org/viewtopic.php?f=1&t=3541&p=19979#p19979
-----------------------------------
jsbsan
Martes, 24 Diciembre 2013, 15:52

Re: Convertir Una Fecha-hora De Hora UTC A Hora Local
-----------------------------------
Vale, entonces lo que te tienes que crear es la funcion que haga que añada las horas segun sea horario de verano o de invierno. Algo asi como esto:

[code linenumbers=false syntax=gambas]
Public Function cambioTZ(fechaGreenWhich As Date) As Date
  
  Dim fecha As Date
  
  If Format$(fechaGreenWhich, "mmddnn") > "033002" And Format$(fechaGreenWhich, "mmddnn") < "102703" Then 
    'horario verano: suma +2 hora
    fecha = DateAdd(fechaGreenWhich, gb.Hour, 2)
  Else
    'horario invierno: suma +1 hora
    fecha = DateAdd(fechaGreenWhich, gb.Hour, 1)
    
  Endif
  Return fecha  
  
End
[/code]

Nota:
033002: significa el mes de marzo dia 30, a las 02:00 horas
102703: significa el mes de octubrre dia 27, a las 03:00 horas.
Asi averiguo si estoy en "verano" o "invierno".
Comprueba si asi se convierten todas las horas bien..

Y usala en tu programa

[code linenumbers=false syntax=gambas]
Public Sub Form_Open()
  
  Dim fechaW As Date
  
  fechaW = Date(2013, 8, 24, 13, 14, 23)  
  
  Print "Fecha GreenWich:", Format$(fechaW, "dd-mm-yyyy hh:nn:ss")
  
  Print "Fecha Madrid:", Format$(cambioTZ(fechaW), "dd-mm-yyyy hh:nn:ss")
  
  fechaW = Date(2013, 11, 24, 13, 14, 23)  
  
  Print "Fecha GreenWich:", Format$(fechaW, "dd-mm-yyyy hh:nn:ss")
  
  Print "Fecha Madrid:", Format$(cambioTZ(fechaW), "dd-mm-yyyy hh:nn:ss")
  
End
[/code]


Este programita genera en consola esto:
Fecha GreenWich:        24-08-2013 13:14:23
Fecha Madrid:   24-08-2013 15:14:23
Fecha GreenWich:        24-11-2013 13:14:23
Fecha Madrid:   24-11-2013 14:14:23


