Update cookies preferences
Promotic

Reguła formatowania dla daty i 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 czasu mogą być w dowolnej kolejności. Każda pozycja czasu (dzień, godzina, minuta, itd.) posiada własny identyfikator (znak: D, H, M, itd.).
 
Wpis czasowy w regule formatowania jest oznaczony znakiem procent %, odróżniając je w ten sposób od stałych elementów (separatorów). Po tym następuje opcjonalna liczba cyfr (gdzie znak gwiazdka * oznacza minimalny wymagany rozmiar bez zer z lewej, np. zamiast 01.01. będzie 1.1.). Pozycja czasu 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:
Y - rok (np. 2025) [4 cyfry].
Patrz metoda PmDateObject.GetYear.
y - Tylko dwa ostatnie numery roku (np. 25) [2 cyfry].
m - miesiąc (1-12) [2 cyfry].
Patrz metoda PmDateObject.GetMonth.
d - dzień (1-31) [2 cyfry].
Patrz metoda PmDateObject.GetDay.
H - godzina (0-23) [2 cyfry].
Patrz metoda PmDateObject.GetHour.
M - minuta (0-59) [2 cyfry].
Patrz metoda PmDateObject.GetMinute.
S - sekunda (0-59) [2 cyfry].
Patrz metoda PmDateObject.GetSecond.
T - milisekunda (0-999) [3 cyfry].
Ilość cyfr oznacza tutaj precyzję po kropce dziesiętnej, więc 1=dziesiąte, 2=setne i 3=tysięczne.
Patrz metoda PmDateObject.GetMillisecond.
D - dzień w roku (1-366) [3 cyfry].
Działa tylko do konwersji czasu (DateTime) do postaci tekstowej.
Patrz metoda PmDateObject.GetDayOfYear.
Wi - tydzień w roku (1-53) [2 cyfry] według ISO 8601.
Działa tylko do konwersji czasu (DateTime) do postaci tekstowej.
Patrz metoda PmDateObject.GetWeekOfYear.
ws - dzień w tygodniu rozpoczynającym się niedzielą (0-6) [1 cyfra].
Działa tylko do konwersji czasu (DateTime) do postaci tekstowej.
Patrz metoda PmDateObject.GetWeekday.
wm - dzień w tygodniu rozpoczynającym się poniedziałkiem (1-7) [1 cyfra] według ISO 8601.
Działa tylko do konwersji czasu (DateTime) do postaci tekstowej.

Notatka! Nie wszystkie pozycje 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 2025.07.01 09:03:01.080:
- %Y.%m.%d %H:%M:%S.%T
będzie "2025.07.01 09:03:01.080".
- %Y.%m.%d %HT%M:%S.%T
będzie "2025.07.01 09T03:01.080" (ten zapis odpowiada ISO 8601).
- %Y-%m-%d %H:%M:%S.%T
będzie "2025-07-01 09:03:01.080" (zapis w formie dla bazy danych MS SQL).
- %Y-%m-%d %H:%M:%S
będzie "2025-07-01 09:03:01" (zapis w formie dla bazy danych MySQL).
- TIMESTAMP'%Y-%m-%d %H:%M:%S.%T'
będzie "TIMESTAMP'2025-07-01 09:03:01.080" (zapis w formie dla bazy danych Oracle).
- #%m %d %Y %H:%M:%S#
będzie #07 01 2025 09:03:01# (zapis w formie dla baz danych Microsoft Access, dBase, PARADOX przy ustawieniu bezpośredniego dostępu).
- %Y.%*m.%*d %*H:%*M:%*S.%T
będzie "2025.7.1 9:3:1.080".
- %Y%m%d%H%M%S%T
będzie "20250701090301080".
- %Y.%m.%d
będzie "2025.07.01".
- %Y/%Wi
będzie "2025/26".

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