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ácie

Rozlíšite čas vyhodnotenia v UTC od dátumu požadovaného pre konkrétne časové pásmo.

ProjectWise kontext

Všetky podporované kontexty ProjectWise CEL

PW systémová premennáPôvodná konfigurácia ProjectWise
$DATE$
CELProjectWise CEL
'{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.

  1. Výsledok už nezávisí od časového nastavenia počítača ProjectWise Explorer.
  2. toLocalTime() používa názvy časových pásiem databázy TZDB/IANA.
  3. 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-TIMEutcTime, toLocalTime() a formátovanie času.