>************************************************************************ >FUNCTION GetTimeZone >********************************* >*** Function: Returns the TimeZone offset from GMT including >*** daylight savings. Result is returned in minutes. >************************************************************************ > >PUBLIC __TimeZone >IF VARTYPE(__TimeZone) = "N" > RETURN __TimeZone >ENDIF > >DECLARE integer GetTimeZoneInformation IN Win32API ; > STRING @ TimeZoneStruct > >lcTZ = SPACE(256) > >lnDayLightSavings = GetTimeZoneInformation(@lcTZ) > >lnOffset = CharToBin(SUBSTR(lcTZ,1,4),.T.) > >*** Subtract an hour if daylight savings is active >IF lnDaylightSavings = 2 > lnOffset = lnOffset - 60 >ENDIF > >__TimeZone = lnOffset > >RETURN lnOffSet > > >************************************************************************ >* GetUtcTime >**************************************** >*** Function: Returns UTC time from local time >*** Assume: >*** Pass: >*** Return: >************************************************************************ >FUNCTION GetUtcTime(ltTime) >IF EMPTY(ltTime) > ltTime = DATETIME() >ENDIF > >RETURN ltTime + (GetTimeZone() * 60) >ENDFUNC >* GetUtcTime > >************************************************************************ >* FromUtcTime >**************************************** >*** Function: Returns local time from UTC Time >*** Assume: >*** Pass: >*** Return: >************************************************************************ >FUNCTION FromUtcTime(ltTime) >RETURN ltTime - (GetTimeZone() * 60) >ENDFUNC >* FromUtcTime >>