Funkcia vracia začiatočný čas týždňa daného argumentmi funkcie.
Deklarácia
TIME %WeekStartTime(
INT in rok,
INT in tyzden,
TEXT in timeZone := %GetCurrentTimeZone()
)
Parametre
rok
Parameter udávajúci rok.
tyzden
Poradové číslo týždňa (týždeň sa začína pondelkom). Poradové číslo týždňa vracia funkcia %WeekNr.
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!
Príklad
%WeekStartTime(2002,25) ; výsledkom je abs. čas, určujúci začiatok 25. týždňa v roku 2002, teda 17.06.2002
Poznámka
Prvý týždeň v kalendári je prvý týždeň, v ktorom je aspoň 1 deň z tohto kalendárneho roka. Správne by to mal byť týždeň, v ktorom sú aspoň 4 dni z tohto kalendárneho roka. Z tohto dôvodu môže v niektorých rokoch funkcia generovať čas posunutý o 1 týždeň.
Na zabránenie tejto nezrovnalosti odporúčame použiť funkciu%WeekOfYearStartTime.