NewTime

NewTime

Funkcia %NewTime


Starý názov funkcie

%NewTimeT

Funkcia

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]]", kde hh určuje počet hodín, mi počet minút a ss poč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