Promotic

Reguła formatowania dla czasu (DateTime)

Reguła formatowania dla czasu DateTime określa postać tekstową (naformatowaną) czasu. Odpowiednio wytworzona reguła formatowania umożliwia dwukierunkową konwersję między wyrażeniem tekstowym a wartością typu DateTime bez utraty informacji.
 
Reguła formatowania zawiera zarówno stałe pozycje (np. separatory wewnątrz czasu) jak i pojedyncze elementy czasu. Pozycje czasowe mogą być w dowolnej kolejności. Każda pozycja czasowa (dzień, godzina, minuta, itd.) posiada własny identyfikator (znak: D, H, M, itd.).
 
W regule formatowania wpis czasowy jest oznaczony znakiem procentu %, odróżniając je w ten sposób od stałych elementów (separatorów). Po tym następuje opcjonalna liczba cyfer (gdzie gwiazdka * oznacza minimalny wymagany rozmiar bez zer od lewej, np. zamiast 01.01. będzie 1.1.). Pozycja czasowa jest zakończona obowiązkowym identyfikatorem pozycji czasowej.
 
Na przykład: "%Y.%m.%d %H:%M:%S.%T"
 
Składnia jednej pozycji czasu: %[*|1-9]id
 
Pozycje czasu:
d - dzień (1-31) [2 cyfry].
m - miesiąc (1-12) [2 cyfry].
Y - rok (np. 2021) [4 cyfry].
H - godzina (0-23) [2 cyfry].
M - minuta (0-59) [2 cyfry].
S - sekunda (0-59) [2 cyfry].
T - milisekunda (0-999) [3 cyfry]. Ilość cyfer oznacza tutaj precyzję po przecinku, więc 1=dziesiąte, 2=setne i 3=tysięczne.
D - dzień w roku (1-366) [3 cyfry]. Działa tylko w przypadku konwersji czasu (DateTime) do postaci tekstowej.
Wi - tydzień w roku (1-53) [2 cyfry] wg ISO 8601. Działa tylko w przypadku konwersji czasu (DateTime) do postaci tekstowej.
ws - dzień w tygodniu rozpoczynającym się niedzielą (0-6) [1 cyfra]. Działa tylko w przypadku konwersji czasu (DateTime) do postaci tekstowej.
wm - dzień w tygodniu rozpoczynającym się poniedziałkiem (1-7) [1 cyfra] wg ISO 8601. Działa tylko w przypadku konwersji czasu (DateTime) do postaci tekstowej.
y - Tylko dwa ostatnie numery w roku (np. 21) [2 cyfry].
 
Notatka! Nie wszystkie wpisy czasowe muszą być wpisane. Ale wtedy informacje są tracone w formie tekstowej. Podczas konwersji z powrotem z tekstu do DateTime nie może brakować pozycje z części daty (rok, miesiąc, dzień). Inne brakujące pozycje są traktowane jako 0.

Przykłady dla DateTime 2022.07.01 09:03:01.500:
"%Y.%m.%d %H:%M:%S.%T" będzie "2022.07.01 09:03:01.500"
"%Y.%*m.%*d %H:%M:%S.%T" będzie "2022.7.1 09:03:01.500"
"%Y%m%d%H%M%S%T" będzie "20220701090301500"
"%Y.%m.%d" będzie "2022.07.01"
"%Y/%Wi" będzie "2022/26"

Historia:
Pm9.00.20:
- Nowa pozycja D = dzień w roku.
- Nowa pozycja Wi = tydzień w roku.
- Nowa pozycja ws = dzień w tygodniu (tydzień rozpoczynający się w niedzielę).
- Nowa pozycja wm = dzień w tygodniu (tydzień rozpoczynający się w poniedziałek).
© MICROSYS, spol. s r. o.