15 de agosto de 2003

Calcular la hora GMT

Función para calcular la hora GMT (Greenwich Meridian Time).
*---------------------------
* FUNCTION GetGMTDateTime
*---------------------------
* Retorna la Fecha y Hora GMT
* USO: ? GetGMTDateTime()
* RETORNA: DateTime
*---------------------------
FUNCTION GetGMTDateTime
   LOCAL lcBuffer, lnAnio, lnMes, lnDia, ;
      lnHora, lnMinuto, lnSegundo, ltGMT
   lcBuffer=SPACE(32)
   DECLARE INTEGER GetSystemTime;
      IN win32api STRING @lcBuffer
   =GetSystemTime(@lcBuffer)
   lnAnio = HtoD(SUBSTR(lcBuffer,1,2))
   lnMes =  HtoD(SUBSTR(lcBuffer,3,2))
   lnDia =  HtoD(SUBSTR(lcBuffer,7,2))
   lnHora = HtoD(SUBSTR(lcBuffer,9,2))
   lnMinuto = HtoD(SUBSTR(lcBuffer,11,2))
   lnSegundo =  HtoD(SUBSTR(lcBuffer,13,2))
   *--- Fecha y Hora GMT
   ltGMT = DATETIME(lnAnio, lnMes, lnDia, lnHora, lnMinuto, lnSegundo)
   RETURN ltGMT
ENDFUNC
*---------------------------
FUNCTION HtoD(tcPar)
   RETURN ASC(SUBSTR(tcPar,2))*256+ASC(SUBSTR(tcPar,1))
ENDFUNC
*---------------------------
Recordar para que esta función retorne la hora GMT correcta, el reloj de la PC debe estar configurado con la zona horaria correspondiente.

Luis María Guayán

No hay comentarios. :

Publicar un comentario