PW01-L04 · Zmena logiky
Aktuálny dátum v lokálnom pásme
Nahraďte $DATE$ explicitnou konverziou UTC času a formátovaním.
Špecifické pre ProjectWise
Výsledok migrácieRozlíšite čas vyhodnotenia v UTC od dátumu požadovaného pre konkrétne časové pásmo.
ProjectWise kontextVšetky podporované kontexty ProjectWise CEL
PW systémová premennáPôvodná konfigurácia ProjectWise$DATE$
'{0:yyyy-MM-dd}'.format(utcTime.toLocalTime('Europe/Bratislava'))
Čo je odlišné
utcTime je stabilný čas vyhodnotenia v UTC. Požadované lokálne pásmo a výsledný textový formát musia byť v CEL uvedené zámerne.
- Výsledok už nezávisí od časového nastavenia počítača ProjectWise Explorer.
- toLocalTime() používa názvy časových pásiem databázy TZDB/IANA.
- Formátovanie vytvorí string v tvare rok-mesiac-deň.
Cieľ migrácie
Vráťte dátum vyhodnotenia ako text pre zvolené časové pásmo.
Čo sa mení
CEL začína hodnotou utcTime. Až výraz určuje pásmo a formát. Tým sa odstraňuje skrytá závislosť od lokálneho času klientského počítača.
Prečo je CEL riešenie presnejšie
Časové pásmo je súčasťou pravidla a dá sa skontrolovať pri review. Príklad zámerne používa Europe/Bratislava; pre inú lokalitu ho treba zmeniť.
Pred nasadením
Skontrolujte správanie okolo polnoci a pri prechode medzi letným a zimným časom. Výsledkom formátovania je string, nie dátumový objekt.
Zdroje
BENTLEY-PW-CEL-SYSVARS — náhrada $DATE$ a poznámky k UTC.BENTLEY-PW-CEL-TIME — utcTime, toLocalTime() a formátovanie času.