************************************************************************ 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+++ Rick ---