Funkcia pripočíta k absolútnemu času TimeA relatívny čas daný pomocou parametrov Year, Month, Day, Sec. Tieto parametre sú typu Integer a môžu byť kladné aj záporné. Výsledkom je hodnota typu Absolútny čas.
Deklarácia
TIME %NewTime(
TIME in TimeA,
INT in Year,
INT in Month,
INT in Day,
INT in Sec,
TEXT in timeZone := %GetCurrentTimeZone()
)
Parametre
TimeA
Vstupný čas.
Year
Počet rokov.
Month
Počet mesiacov.
Day
Počet dní.
Sec
Počet sekúnd.
timeZone
Názov časového pásma pre prevod na lokálny čas (napr. "Europe/London") alebo definícia fixného posunu od UTC vo formáte "(+|-)hh[:mi[:ss]]", kdehhurčuje počet hodín,mipočet minút asspočet sekúnd. Znamienko posunu a počet hodín sú povinné časti definície posunu, počet minút a sekúnd sú volitelné a predvolene sú 0 (napr. "+02:30" definuje posun 2 hodiny a 30 minút od UTC). Prázdny text je interpretovaný rovnako ako volanie funkcie %GetCurrentTimeZone. Z historických dôvodov je akceptovaný aj celočíselný parameter, ktorý je interpretovaný nasledovne: 0 - zóna "Europe/London", 3600 - zóna "Europe/Bratislava", 7200 - zóna "Europe/Kiev", 21600 - zóna "Asia/Almaty". Použitie celočíselného parametra sa neodporúča a generuje upozornenie do logovacieho súboru!
Poznámka
V prípade, že cieľový čas neexistuje, funkcia vráti hodnotu dátumu posledného existujúceho dňa v cieľovom mesiaci. Napríklad:
_Date := %StrToTime("10:00:00 31-01-2007")
_Date := %NewTime(_Date,0,1,0,0) ;zvýši hodnotu mesiaca o jednu -> 28.2.2007 10:00:00.000