Format konwersji pomiędzy wartością a łańcuchem tekstowym.
Typy formatowanej wartości:
- Float = liczba rzeczywista (tzn. z kropką dziesiętną)
- Int = liczba całkowita
- Bool = wartość true lub false
- String = łańcuch tekstowy
- DateTime = data oraz czas
- TimeSpan = przedział czasu (tzn. wartość nie zawiera miesiąc oraz rok)
- Enum = wartość liczbowa reprezentująca tekst (np. 1=Poniedziałek, 2=Wtorek, ... ,7=Niedziela)
Parametry łańcucha tekstowego to w formacie
KeyVal, który został napełniony z wartości parametru
sFormat metody
SetFormat lub
CreatePmFormat.
Klucze wspólne dla wszystkich typów:
Type:xx; - Typ wartości. Na przykład
"Type:Float;".
Float (domyślnie) - liczba rzeczywista
Int - liczba całkowita
Bool - wartość logiczna (1/0)
String - łańcuch tekstowy
DateTime - Data oraz czas
TimeSpan - Przedział czasu
Enum - Wartość liczbowa reprezentująca tekst.
Len:nn - Całkowita liczba znaków bez
LTxt oraz
RTxt. Na przykład
"Len:6;". Dla wartości liczbowe jest to włącznie
Sign,
DSep,
Group.
Patrz:
Przykłady dla typu Float.
-1 (domyślnie) - nieograniczone, dla
Scan znajdź koniec liczby
n - określona liczba znaków
IfShort:nn - Co zrobić, jeżeli wartość jest krótsza niż
Len. Na przykład
"Len:4;IfShort:2;".
0 (domyślnie) - nie wykonuj nic
1 - uzupełń z lewej znaki spacja
2 - uzupełń z prawej znaki spacja
7 - tylko dla wartości liczbowe: uzupełń z lewej zerami pomiędzy znak a pierwszą cyfrę (dla wartości nieliczbowe jako IfShort:1)
IfLong:nn - Co zrobić, jeżeli wartość jest dłuższa niż
Len. Na przykład
"Len:4;IfLong:2;".
Patrz:
Przykłady dla typu Float.
0 (domyślnie) - nie wykonuj nic, to znaczy pozostaw następne
1 - obetnij z lewej na długość Len
2 - obetnij z prawej na długość Len
4 - uzupełń znakiem określonym w IfLongPar na długość Len
5 - zastąpi tekstem zawartym w IfLongPar
7 - tylko dla wartości liczbowe: zawsze format max do IfLongPar (dla wartości nieliczbowej jako IfLong:2)
IfLongPar:ss - Określa znak(i) uzupełniające parametra
IfLong. Na przykład
"Len:4;IfLong:5;IfLongPar:MyErr;".
ss - Znak(y)
dla IfLong:4; - znak uzupełniający (domyślnie="", spowoduje uzupełnienie znakiem gwiazdka "*")
dla IfLong:5; - tekst zastępczy (domyślnie="")
IfNull:nn - Co zrobić, jeżeli wartość jest
null. Na przykład
"IfNull:1;".
Patrz:
Przykłady dla null:.
0 (domyślnie) - Podczas konwersji wartości
null na łańcuch znaków, zostanie ona przekonwertowana na wartość
0 lub pusty łańcuch znaków
"". a następnie dalej konwertowana zgodnie z łańcuchem formatowania.
1 - Podczas konwersji wartości
null na łańcuch znaków, zastępczy łańcuch znaków jest używany w
IfNullPar i nie następuje dalsze formatowanie. Podczas konwersji wartości łańcuchowej z powrotem na wartość, jeżeli wartość łańcucha znaków dokładnie pasuje do zastępczego łańcucha znaków w
IfNullPar, wynikiem jest
null.
IfNullPar:ss - Łańcuch zastepczy wartości
null (domyślnie=""). Na przykład
"IfNull:1;IfNullPar:null;".
Case:nn - Konwersja na duże/małe znaki (znaki w
LTxt oraz
RTxt nie podlegają konwersji). Na przykład
"Case:2;".
Patrz:
Przykłady dla typu String.
0 (domyślnie) - Zachowaj bez zmian
1 - UpperCase - Na wielkie znaki
2 - LowerCase - Na małe znaki
Klucze wspólne dla Int oraz Float:
Sign:nn - Jak wyświetlać znak plus. Na przykład
"Sign:1;".
Patrz:
Przykłady dla typu Float.
0 (domyślnie) - Nie wyświetlać (wyświetlać tylko "-")
1 - Wyświetlać "+" (jeżeli zero, wtedy spacja)
2 - Wyświetlać " " (spacja)
Group:nn - Łączenie grup liczb do trójek. Na przykład
"Group:1;".
Patrz:
Przykłady dla typu Float.
0 (domyślnie) - Nie łączyć
1 - Grupuj wlewo od separatora dziesiętnego (tysiące)
2 - Grupuj wprawo od separatora dziesiętnego (tysięczne)
3 - Grupuj wlewo i wprawo od separatora dziesiętnego (tysiące i tysięczne)
GroupSep:nn - Separator pomiędzy grupami. Na przykład
"Group:1;GroupSep:2;".
0 (domyślnie) - spacja
1 - kropka
2 - przecinek
DLen:nn - Liczba znaków wprawo od separatora dziesiętnego. Na przykład
"DLen:3;".
Patrz:
Przykłady dla typu Float.
-1 (domyślnie) - Nieograniczone (uzupełnienie do liczby określonej w Len, ale jeżeli Len=-1 wtedy DLen:3)
n - Liczba całkowita włącznie z separatorem Group (3=domyślnie).
DSep:nn - Typ kropki dziesiętnej (ma znaczenie tylko jeżeli
DLen!=0). Na przykład
"DSep:1;".
0 (domyślnie) - Znak . (kropka)
1 - Znak , (przecinek)
DZero:nn - Zera wprawo za liczbą (ma znaczenie tylko jeżeli
DLen!=0). Na przykład
"DZero:1;".
0 (domyślnie) - Zachowaj zera
1 - Zastąp zera spacją
2 - Optymalizuj (usunąć zera oraz ewentualnie separator dziesiętny)
Klucze dla DateTime:
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.
Fmt:ss - Format czasu (domyślnie
"%Y.%m.%d %H:%M:%S.%T"). Na przykład
"Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;".
Patrz:
Przykłady dla typu DateTime.
Składnia jednej pozycji czasu:
%[*|1-9]id
Pozycje czasu:
y - Tylko dwa ostatnie numery roku (np.
25) [
2 cyfry].
T - milisekunda (
0-999) [
3 cyfry].
Liczba 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.
Klucze dla TimeSpan:
Reguła formatowania dla zakresu czasu (
TimeSpan) określa tekstową (sformatowaną) postać przedziału czasu. Odpowiednio wytworzona reguła formatowania umożliwia dwukierunkową konwersję między wyrażeniem tekstowym a wartością typu
TimeSpan bez utraty informacji.
Reguła formatowania zawiera zarówno stałe pozycje (np. separatory wewnątrz przedziału czasu) jak i pojedyncze pozycje przedziału czasu. Pozycje przedziału czasu muszą być w obowiązkowej kolejności od największej pozycji (dzień) do najmniejszej (milisekunda). Każda pozycja przedziału czasu (dzień, godzina, minuta, itd.) ma swój identyfikator (znak: D, H, M, itd.).
Pozycja przedziału czasu w regule formatowania powinna być oznaczona znakiem procent
%, to odróżnia je od stałych elementów (separatorów). Po tym następuje opcjonalna liczba znaków (gdzie znak gwiazdka
* oznacza minimalny wymagany rozmiar bez zer z lewej, np. zamiast
01.01. będzie
1.1.). Po tym następuje obowiązkowy identyfikator pozycji przedziału czasu.
Fmt:ss - Użytkownikiem określony format przedziału czasu (domyślnie
"Fmt:%*N%*d-%H:%M:%S.%T"). Tylko dla
FmtType jest
0. Na przykład
"Type:TimeSpan;FmtType:0;Fmt:%*N%*d-%H:%M:%S.%T;".
Patrz:
Przykłady dla typu TimeSpan.
Składnia jednej pozycji czasu
%[*|1-9]id
Pozycje przedziału czasu:
N - Jak wyświetlać znak plus.
d - dzień (
1-31) [
2 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].
Liczba cyfr oznacza tutaj precyzję po kropce dziesiętnej, więc 1=dziesiąte, 2=setne i 3=tysięczne.
FmtType:nn (opcjonalne) - Typ formatowania przedziału czasu. Na przykład
"Type:TimeSpan;FmtType:10;".
Patrz:
Przykłady dla typu TimeSpan.
0 (domyślnie) - Użytkownikiem określony format przedziału czasu określony łańcuchem formatowania. Patrz klucz
Fmt.
10 - Systemowy format przedziału czasu. Określone są wartości użytych elementów przedziału czasu wraz z literą wskazującą typ elementu. Elementy z wartością null nie są wyświetlane.
Składnia: [-][Nd][Nh][Nm][Ns][Nt], gdzie
N jest numer oraz:
d - Liczba dni. Na przykład 2d oznacza 2 dni lub 1.5d oznacza 36 godzin.
h - Liczba godzin. Na przykład 2h oznacza 2 godziny lub 1.5h oznacza 90 minut.
m - Liczba minut. Na przykład 2m oznacza 2 minuty lub 1.5m oznacza 90 sekund.
s - Liczba sekund. Na przykład 2s oznacza 2 sekundy lub 1.5s oznacza 1500 milisekund.
t - Liczba milisekund. Na przykład 10t oznacza 10 milisekund lub 500t oznacza 500 milisekund.
Notatka! Kolejność pozycji przedziału czasu musi być podana od największej (dzień) do najmniejszej (milisekunda). Nie musi się jednak zaczynać od dni, ale od któregokolwiek z pozostałych elementów. Pierwsza (największa) znaleziona pozycja przedziału czasu:
1) zostanie zwiększona o przeliczone brakujące wyższe pozycje.
2) Będzie miała: domyślnie liczba znaków =
*, więc jak trzeba.
Notatka! Pozycje przedziału czasu nie muszą być wymienione aż do najmniejszych pozycji. Może kończyć się na dowolnej pozycji. Ale wtedy informacje są tracone w formie tekstowej. Przy ponownej konwersji z postaci tekstowej do postaci
TimeSpan, te brakujące pozycje są traktowane jako
0.
Notatka! Reguła formatowania umożliwia ustawić użytkownikiem określony format przedziału czasu. Ponadto istnieje również format systemowy przedziału czasu.
Klucze dla Enum:
Formuła formatowania dla
Enum określa, w jaki sposób wartość liczbowa ma zostać skonwertowana do tekstu, który przedstawia jej określone znaczenie. Na przykład 1=Poniedziałek, 2=Wtorek, ... , 7=Niedziela.
W tym celu używana jest tabela konwersji między wartością liczbową w danych a tekstem ze znaczeniem wartości do wyświetlenia.
Rows:{keyval} - Tabela konwersji w formie tablicy (
PmArray) wierszy (
PmMap). Wiersz (mapa) tworzy para wartości liczbowej (
v) i tekstu (
n).
W celu zapisania tabeli konwersji należy zastosować
KeyVal - format zapisu opisanych wartości (w trybie pseudotablica).
Na przykład
"Rows:{0:{v:1;n=Poniedziałek};1:{v:2;n=Wtorek};2:{v:3;n=Środa};3:{v:4;n=Czwartek};4:{v:5;n=Piątek};5:{v:6;n=Sobota};6:{v:7;n=Niedziela};};".
Patrz:
Przykłady dla typu Enum:.
Przykłady dla typu Float
Kombinacja kluczy RTxt oraz DLen:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Type:Float;RTxt: %;DLen:2;");
var sVal = oFmt.Format(90.845);
// sVal = "90.84 %"
Dim oFmt
Set oFmt = Pm.CreatePmFormat("Type:Float;RTxt: %;DLen:2;")
Dim sVal
sVal = oFmt.Format(90.845)
' sVal = "90.84 %"
Zastosowanie Group w celu podzielenia liczby na trójki cyfr:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Len:12;DLen:7;IfLong:2;Group:3;");
var sVal = oFmt.Format(-1234567.123456);
// sVal = "-1 234 567.1"
Dim oFmt
Set oFmt = Pm.CreatePmFormat("Len:12;DLen:7;IfLong:2;Group:3;")
Dim sVal
sVal = oFmt.Format(-1234567.123456)
' sVal = "-1 234 567.1"
Zastosowanie Sign w celu wyrównania dodatnich oraz ujemnych wartości:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Sign:2;");
var sVal;
sVal = oFmt.Format(1235.67);
// sVal = " 1235.670"
sVal = oFmt.Format(-1235.67);
// sVal = "-1235.670"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Sign:2;")
sVal = oFmt.Format(1235.67)
' sVal = " 1235.670"
sVal = oFmt.Format(-1235.67)
' sVal = "-1235.670"
Przykłady dla typu Int
Zastosowanie Radix do formatowania liczb do postaci szesnastkowej:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Type:Int;Radix:16;LTxt:0x;Case:1;");
var sVal = oFmt.Format(10.58);
// sVal = "0xB"
var nVal = oFmt.Scan(sVal);
// nVal = 11
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:Int;Radix:16;LTxt:0x;Case:1;")
sVal = oFmt.Format(10.58)
' sVal = "0xB"
Dim nVal
nVal = oFmt.Scan(sVal)
' nVal = 11
Zastosowanie Radix do formatowania liczb do postaci ósemkowej:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
oFmt = Pm.CreatePmFormat("Type:Int;Radix:8;LTxt:0o;");
sVal = oFmt.Format(10.58);
// sVal = "0o13"
nVal = oFmt.Scan(sVal);
// nVal = 11
Set oFmt = Pm.CreatePmFormat("Type:Int;Radix:8;LTxt:0o;")
sVal = oFmt.Format(10.58)
' sVal = "0o13"
nVal = oFmt.Scan(sVal)
' nVal = 11
Zastosowanie Radix do formatowania liczb do postaci binarnej:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
oFmt = Pm.CreatePmFormat("Type:Int;Radix:2;LTxt:0b;");
sVal = oFmt.Format(3.4);
// sVal = "0b11"
nVal = oFmt.Scan(sVal);
// nVal = 3
Set oFmt = Pm.CreatePmFormat("Type:Int;Radix:2;LTxt:0b;")
sVal = oFmt.Format(3.4)
' sVal = "0b11"
nVal = oFmt.Scan(sVal)
' nVal = 3
Przykłady dla typu Bool
Przykład2:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Type:Bool;LTxt:Ln;RTxt:V;");
var sVal;
sVal = oFmt.Format(true);
// sVal = "Ln1V"
sVal = oFmt.Format(false);
// sVal = "Ln0V"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:Bool;LTxt:Ln;RTxt:V;")
sVal = oFmt.Format(true)
' sVal = "Ln1V"
sVal = oFmt.Format(false)
' sVal = "Ln0V"
Przykłady dla typu String
Przykład1:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Type:String;LTxt:x;RTxt:q;Case:1;");
var sVal = oFmt.Format("aBcD");
// sVal = "xABCDq"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:String;LTxt:x;RTxt:q;Case:1;")
sVal = oFmt.Format("aBcD")
' sVal = "xABCDq"
Przykład2:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Type:String;LTxt:X_;RTxt:_Q;Len:6;IfLong:2;");
var sVal = oFmt.Format("abcdefgh");
// sVal = "X_abcdef_Q"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:String;LTxt:X_;RTxt:_Q;Len:6;IfLong:2;")
sVal = oFmt.Format("abcdefgh")
' sVal = "X_abcdef_Q"
Przykłady dla typu DateTime
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var t = Pm.CreateDate(2025, 2, 13, 4, 15, 6, 789);
var oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S.%T;");
var sVal = oFmt.Format(t);
// sVal = "13.02.2025 04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S;");
sVal = oFmt.Format(t);
// sVal = "13.02.2025 04:15:06"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%4Y.%2d.%2m %2H:%2M:%2S;");
sVal = oFmt.Format(t);
// sVal = "2025.13.02 04:15:06"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*d.%*m.%*Y %*H:%*M:%*S.%T;");
sVal = oFmt.Format(t);
// sVal = "13.2.2025 4:15:6.789"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*Y.%*m.%*d;");
sVal = oFmt.Format(t);
// sVal = "2025.13.2"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*H:%*M:%*S;");
sVal = oFmt.Format(t);
// sVal = "4:15:6"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y%m%d%H%M%S;");
sVal = oFmt.Format(t);
// sVal = "20251302041506"
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "2025.2.13 4:15:6.789"
// ten zapis odpowiada ISO 8601
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%dT%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "2025.2.13T4:15:6.789"
// zapis w formie dla bazy danych MS SQL
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S.%T';");
sVal = oFmt.Format(t);
// sVal = "'2025-2-13 4:15:6.789'"
// zapis w formie dla bazy danych MySQL
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S';");
sVal = oFmt.Format(t);
// sVal = "'2025-2-13 4:15:6'"
// zapis w formie dla bazy danych Oracle
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:TIMESTAMP'%Y-%m-%d %H:%M:%S.%T';");
sVal = oFmt.Format(t);
// sVal = "TIMESTAMP'2025-2-13 4:15:6.789'"
// zapis w formie dla baz danych Microsoft Access, dBase, PARADOX przy ustawieniu bezpośredniego dostępu
oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:#%m %d %Y %H:%M:%S#;");
sVal = oFmt.Format(t);
// sVal = "#2 13 2025 4:15:6#"
Dim t
t = Pm.CreateDate(2025, 2, 13, 4, 15, 6, 789)
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S.%T;")
sVal = oFmt.Format(t)
' sVal = "13.02.2025 04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%2d.%2m.%4Y %2H:%2M:%2S;")
sVal = oFmt.Format(t)
' sVal = "13.02.2025 04:15:06"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%4Y.%2d.%2m %2H:%2M:%2S;")
sVal = oFmt.Format(t)
' sVal = "2025.13.02 04:15:06"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*d.%*m.%*Y %*H:%*M:%*S.%T;")
sVal = oFmt.Format(t)
' sVal = "13.2.2025 4:15:6.789"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*Y.%*m.%*d;")
sVal = oFmt.Format(t)
' sVal = "2025.13.2"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%*H:%*M:%*S;")
sVal = oFmt.Format(t)
' sVal = "4:15:6"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y%m%d%H%M%S;")
sVal = oFmt.Format(t)
' sVal = "20251302041506"
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%d %H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "2025.2.13 4:15:6.789"
' ten zapis odpowiada ISO 8601
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:%Y.%m.%dT%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "2025.2.13T4:15:6.789"
' zapis w formie dla bazy danych MS SQL
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S.%T';")
sVal = oFmt.Format(t)
' sVal = "'2025-2-13 4:15:6.789'"
' zapis w formie dla bazy danych MySQL
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:'%Y-%m-%d %H:%M:%S';")
sVal = oFmt.Format(t)
' sVal = "'2025-2-13 4:15:6'"
' zapis w formie dla bazy danych Oracle
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:TIMESTAMP'%Y-%m-%d %H:%M:%S.%T';")
sVal = oFmt.Format(t)
' sVal = "TIMESTAMP'2025-2-13 4:15:6.789'"
' zapis w formie dla baz danych Microsoft Access, dBase, PARADOX przy ustawieniu bezpośredniego dostępu
Set oFmt = Pm.CreatePmFormat("Type:DateTime;Fmt:#%m %d %Y %H:%M:%S#;")
sVal = oFmt.Format(t)
' sVal = "#2 13 2025 4:15:6#"
Przykłady dla typu TimeSpan
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var t = Pm.CreateDate(0, 0, 53, 4, 15, 6, 789);
var oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%2d %2H:%2M:%2S.%T;");
var sVal = oFmt.Format(t);
// sVal = "53 04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*d %*H:%*M:%*S;");
sVal = oFmt.Format(t);
// sVal = "53 4:15:6"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "1276:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%N%2d %2H:%2M:%2S.%T;");
sVal = oFmt.Format(-t);
// sVal = "-53 04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10");
sVal = oFmt.Format(-t);
// sVal = "-53d4h15m6s789t"
t = Pm.CreateDate(0, 0, 1053, 4, 15, 6, 789);
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "1053-04:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "25276:15:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "1516575:06.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%S.%T;");
sVal = oFmt.Format(t);
// sVal = "90994506.789"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;");
sVal = oFmt.Format(t);
// sVal = "1053d4h15m6s789t"
t = Pm.CreateDate(0, 0, 0, 1, 30, 0, 0);
oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;");
sVal = oFmt.Format(t);
// sVal = "0-01:30:00.000"
oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;");
sVal = oFmt.Format(t);
// sVal = "1h30m"
Dim t
t = Pm.CreateDate(0, 0, 53, 4, 15, 6, 789)
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%2d %2H:%2M:%2S.%T;")
sVal = oFmt.Format(t)
' sVal = "53 04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*d %*H:%*M:%*S;")
sVal = oFmt.Format(t)
' sVal = "53 4:15:6"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "1276:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%N%2d %2H:%2M:%2S.%T;")
sVal = oFmt.Format(-t)
' sVal = "-53 04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10")
sVal = oFmt.Format(-t)
' sVal = "-53d4h15m6s789t"
t = Pm.CreateDate(0, 0, 1053, 4, 15, 6, 789)
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "1053-04:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "25276:15:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "1516575:06.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%S.%T;")
sVal = oFmt.Format(t)
' sVal = "90994506.789"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;")
sVal = oFmt.Format(t)
' sVal = "1053d4h15m6s789t"
t = Pm.CreateDate(0, 0, 0, 1, 30, 0, 0)
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;Fmt:%*N%d-%H:%M:%S.%T;")
sVal = oFmt.Format(t)
' sVal = "0-01:30:00.000"
Set oFmt = Pm.CreatePmFormat("Type:TimeSpan;FmtType:10;")
sVal = oFmt.Format(t)
' sVal = "1h30m"
Przykłady dla typu Enum:
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oFmt = Pm.CreatePmFormat("Type:Enum;Rows:{0:{v:1;n:Poniedziałek};1:{v:2;n:Wtorek};2:{v:3;n:Środa};3:{v:4;n:Czwartek};4:{v:5;n:Piątek};5:{v:6;n:Sobota};6:{v:7;n:Niedziela};};");
var sVal;
sVal = oFmt.Format(2);
// sVal = "Wtorek"
sVal = oFmt.Format(6);
// sVal = "Sobota"
Dim oFmt, sVal
Set oFmt = Pm.CreatePmFormat("Type:Enum;Rows:{0:{v:1;n:Poniedziałek};1:{v:2;n:Wtorek};2:{v:3;n:Środa};3:{v:4;n:Czwartek};4:{v:5;n:Piątek};5:{v:6;n:Sobota};6:{v:7;n:Niedziela};};")
sVal = oFmt.Format(2)
' sVal = "Wtorek"
sVal = oFmt.Format(6)
' sVal = "Sobota"
Zastosowanie FmtC do formatowania wg języka C: