[Lazarus-es] Hora de verano en España con PascalTZ

Juan M. Puertas soft.sirius en gmail.com
Jue Dic 18 17:19:05 CET 2014


Hola Jose, encantado de saludarte.
En realidad sucede con cualquier fecha en la que exista una hora de verano
en España. Sea horario de invierno o de verano, siempre devuelve una hora
de diferencia respecto a GMT, cuando en verano debería devolver dos horas.
Aquí está el código que utilizo:

function dameHuso(yy,mm,dd,ho,mi,ss:word;zona:string):single;
// Devuelve el Huso Horario en horas
var
  ptz :TPascalTZ;
  s: string;
  t,nt: TDateTime;
  ms:Word;
begin
  //Now = Tiempo transcurrido desde 1 Enero 1900
  ptz := TPascalTZ.Create();
  ptz.ParseDatabaseFromFile('tzdatabase/africa');
  ptz.ParseDatabaseFromFile('tzdatabase/antarctica');
  ptz.ParseDatabaseFromFile('tzdatabase/asia');
  ptz.ParseDatabaseFromFile('tzdatabase/australasia');
  ptz.ParseDatabaseFromFile('tzdatabase/etcetera');
  ptz.ParseDatabaseFromFile('tzdatabase/europe');
  ptz.ParseDatabaseFromFile('tzdatabase/northamerica');
  ptz.ParseDatabaseFromFile('tzdatabase/pacificnew');
  ptz.ParseDatabaseFromFile('tzdatabase/southamerica');
  ms:=0;
  t:=EncodeDate(yy,mm,dd) + EnCodeTime(ho,mi,ss,ms);
  nt:=ptz.LocalTimeToGMT(t,zona);
  ptz.free;
  dameHuso:=(nt-t)*24.0;
end;


El 18 de diciembre de 2014, 16:44, José Mejuto <joshyfun en gmail.com>
escribió:
>
> El 18/12/2014 a las 12:03, Juan M. Puertas escribió:
>
>  ​ Hola amigos.
>>   Estoy desarrollando un programa que utiliza cambios de hora históricos
>> para todo el mundo.
>>   Estoy muy agradecido a José Mejuto por su trabajo con PascalTZ.
>>   He seguido las instrucciones para acceder a los cambios de hora y todo
>> parecía funcionar bien, hasta que me he encontrado con que no funciona
>> con la hora de verano en España. El programa me devuelve -1 en lugar de
>> -2. Esto me pasa tanto en Linux Mint como en Windows.
>>   ¿Os pasa a vosotros lo mismo?.
>>   Muchas gracias por vuestra respuesta.
>>
>
> Hola,
>
> Puedes poner la fecha de la que quieres hacer la conversión ?
>
> Quiero decir, supongo que quieres hacer un cambio de hora/fecha, puedes
> poner el cambio a realizar ? Si puedes pegar el trozo de código referente
> sería genial, o un mini programa que pueda usar de test.
>
>
> --
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>


-- 
*Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje
en un tiempo.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20141218/cc5bf0a2/attachment-0002.html>


More information about the Lazarus-es mailing list