Update cookies preferences
Promotic

Formátovací předpis pro časové rozpětí (TimeSpan)

Formátovací předpis pro časové rozpětí (TimeSpan) určuje textovou (naformátovanou) podobu časového rozpětí. Vhodně vytvořený formátovací předpis umožňuje obousměrnou konverzi mezi textovým vyjádřením a hodnotou typu TimeSpan bez ztráty informace.
 
Formátovací předpis obsahuje jednak konstantní položky (např. oddělovače uvnitř časového rozpětí) a také jednotlivé položky časového rozpětí. Položky časového rozpětí musí být v závazném pořadí od největší položky (den) k nejmenší položce (milisekunda). Každá položka časového rozpětí (den, hodina, minuta, atd.) má svůj identifikátor (znak: D, H, M, atd.).
 
Položka časového rozpětí ve formátovacím předpisu se uvádí znakem procento %, tím se odliší od konstantních položek (oddělovačů). Následuje nepovinné určení počtu znaků (kde znak hvězdička * znamená minimální nutnou velikost bez nul zleva, např. místo 01.01. bude 1.1.). Následuje povinný identifikátor položky časového rozpětí.
 
Například: "%N%d/%H:%M:%S.%T"
 
Syntaxe jedné položky časového rozpětí: %[*|1-9]id

Položky časového rozpětí:
N - Znaménko (+/-) [1 znak].
Počet znaků 1 (přednastaveno) zobrazí + nebo - , zatímco počet znaků 0 zobrazí - nebo nic.
d - den (1-31) [2 cifry].
H - hodina (0-23) [2 cifry].
M - minuta (0-59) [2 cifry].
S - sekunda (0-59) [2 cifry].
T - milisekunda (0-999) [3 cifry].
Počet znaků zde znamená přesnost za desetinnou tečkou, takže 1=na desetiny, 2=na setiny a 3=na tisíciny.
 
Poznámka! Pořadí položek časového rozpětí se sice musí uvádět od největší (den) k nejmenší položce (milisekunda). Nemusí se však začínat položkou den, ale kteroukoliv další. Přičemž první nalezená (největší) položka časového rozpětí:
1) Bude zvýšena o přepočtené chybějící vyšší položky.
2) Bude mít: přednastaveno počet znaků = *, takže podle potřeby.
 
Poznámka! Položky časového rozpětí se rovněž nemusí uvádět až po nejmenší položky. Může se končit kteroukoliv položkou. Pak se ovšem ztrácí v textové podobě informace. Při zpětné konverzi z textové podoby do podoby TimeSpan se považují tyto chybějící položky jako 0.
 
Poznámka! Formátovací předpis umožňuje zadat uživatelský formát časového rozpětí. Kromě toho existuje i systémový formát časového rozpětí. Viz: FmtType 10.

Příklady pro TimeSpan 41/09:03:01.500:
"%N%d/%H:%M:%S.%T" bude "+41/09:03:01.500"
"%*N%*d/%H:%M:%S.%T" bude "41/09:03:01.500"
"%N%3d%H%M%S%T" bude "+041090301500"
"%N%H:%M:%S.%T" bude "+993:03:01.500" (993 = 41*24 + 9)
"%N%H:%M:%S" bude "+993:03:01" (993 = 41*24 + 9)
© MICROSYS, spol. s r.o.