The function adds the relative time calculated from the defined parameters Year, Month, Day,
Sec to the absolute time TimeA. Result is an absolute time.
TIME in TimeA,
INT in Year,
INT in Month,
INT in Day,
INT in Sec,
TEXT in timeZone := %GetCurrentTimeZone()
Number of years.
Number of months.
Number of days.
Number of seconds.
Name of the time zone used for conversion to local time (e.g. "Europe/London") or definition of fixed offset from UTC using format "(+|-)hh[:mi[:ss]]", where hh defines number of hours, mi defines number of minutes, and ss defines number of seconds. Sign as well as number of hours are mandatory parts of offset definition, number of minutes and seconds are optional and default to 0 (e.g. "+02:30" defines offset of 2 hours and 30 minutes from UTC). Empty text has the same meaning as function %GetCurrentTimeZone. Note: For historical reasons, integer parameter is also accepted. Its interpretation is as follows: 0 - zone "Europe/London", 3600 - zone "Europe/Bratislava", 7200 - zone "Europe/Kiev", 21600 - zone "Asia/Almaty". Usage of integer parameter is deprecated and generates warning into log file!
If the target date does not exist, the function returns the date value of the last existing day in the particular target month, e.g.:
_Date := %StrToTime("10:00:00 31-01-2007")
_Date := %NewTime(_Date,0,1,0,0) ;increases the month value by one -> 28.2.2007 10:00:00.000