Here is a small module I created to handle this problem for now:
Code: Select all
DeclareModule DateTime
Declare.i GetCurrentUTCOffset()
Declare.i ConvertFromUTCToCurrentTZ(dateTime.i)
Declare.i ConvertFromCurrentTzToUTC(dateTime.i)
EndDeclareModule
Module DateTime
; Get the current UTC offset in minutes
Procedure.i GetCurrentUTCOffset()
Protected offset.i = 0
! v_offset = new Date().getTimezoneOffset();
ProcedureReturn offset
EndProcedure
; Convert a UTC datetime (numeric format) to current timezone (numeric format)
Procedure.i ConvertFromUTCToCurrentTZ(dateTime.i)
Protected newDate.i
newDate = AddDate(dateTime, #PB_Date_Minute, GetCurrentUTCOffset() * -1)
ProcedureReturn newDate
EndProcedure
; Convert a datetime using the current time zone (numeric format) to UTC (numeric format)
Procedure.i ConvertFromCurrentTzToUTC(dateTime.i)
Protected newDate.i
newDate = AddDate(dateTime, #PB_Date_Minute, GetCurrentUTCOffset())
ProcedureReturn newDate
EndProcedure
EndModule