Vlastní řetězce formátu data a času
Řetězec formátu data a času definuje textovou DateTime reprezentaci nebo DateTimeOffset hodnotu, která je výsledkem operace formátování. Může také definovat reprezentaci hodnoty data a času nezbytnou v rámci operace analýzy a úspěšně tak řetězec převést na datum a čas. Řetězec vlastního formátu se skládá z jednoho nebo více vlastních specifikátorů formátu data a času. Jakýkoli řetězec, který není standardním řetězcem formátu data a času, se interpretuje jako vlastní řetězec formátu data a času.
Tip
Můžete si stáhnout formátovací nástroj, aplikaci .NET Core model Windows Forms, která umožňuje použít formátovací řetězce na číselné nebo hodnoty data a času a zobrazí výsledný řetězec. Zdrojový kód je k dispozici pro C# a Visual Basic.
Vlastní řetězce formátu data a času lze použít s oběma DateTime hodnotami.DateTimeOffset
Poznámka:
Některé příklady jazyka C# v tomto článku se spouští v Try.NET vloženého spouštěče kódu a dětského hřiště. Vyberte tlačítko Spustit a spusťte příklad v interaktivním okně. Jakmile kód spustíte, můžete ho upravit a spustit upravený kód tak , že znovu vyberete Spustit . Upravený kód se buď spustí v interaktivním okně, nebo pokud kompilace selže, zobrazí se v interaktivním okně všechny chybové zprávy kompilátoru jazyka C#.
Místní časové pásmo Try.NET inline code runner a playground je koordinovaný univerzální čas nebo UTC. To může ovlivnit chování a výstup příkladů, které ilustrují DateTime, DateTimeOffseta typy a TimeZoneInfo jejich členy.
V operacích formátování lze vlastní řetězce formátu data a času použít buď s ToString
metodou instance data a času, nebo s metodou, která podporuje složené formátování. Následující příklad znázorňuje oba způsoby použití.
DateTime thisDate1 = new DateTime(2011, 6, 10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");
DateTimeOffset thisDate2 = new DateTimeOffset(2011, 6, 10, 15, 24, 16,
TimeSpan.Zero);
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
thisDate2);
// The example displays the following output:
// Today is June 10, 2011.
// The current date and time: 06/10/11 15:24:16 +00:00
Dim thisDate1 As Date = #6/10/2011#
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".")
Dim thisDate2 As New DateTimeOffset(2011, 6, 10, 15, 24, 16, TimeSpan.Zero)
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}",
thisDate2)
' The example displays the following output:
' Today is June 10, 2011.
' The current date and time: 06/10/11 15:24:16 +00:00
Při parsování operací lze řetězce formátu vlastního data a času použít se DateTime.ParseExactsadou , DateTime.TryParseExact, DateTimeOffset.ParseExacta DateTimeOffset.TryParseExact metodami. Tyto metody vyžadují, aby vstupní řetězec přesně odpovídal určitému vzoru, aby operace analýzy byla úspěšná. Následující příklad znázorňuje volání metody k DateTimeOffset.ParseExact(String, String, IFormatProvider) analýze data, které musí obsahovat den, měsíc a dvouciferný rok.
using System;
using System.Globalization;
public class Example1
{
public static void Main()
{
string[] dateValues = { "30-12-2011", "12-30-2011",
"30-12-11", "12-30-11" };
string pattern = "MM-dd-yy";
DateTime parsedDate;
foreach (var dateValue in dateValues)
{
if (DateTime.TryParseExact(dateValue, pattern, null,
DateTimeStyles.None, out parsedDate))
Console.WriteLine("Converted '{0}' to {1:d}.",
dateValue, parsedDate);
else
Console.WriteLine("Unable to convert '{0}' to a date and time.",
dateValue);
}
}
}
// The example displays the following output:
// Unable to convert '30-12-2011' to a date and time.
// Unable to convert '12-30-2011' to a date and time.
// Unable to convert '30-12-11' to a date and time.
// Converted '12-30-11' to 12/30/2011.
Imports System.Globalization
Module Example
Public Sub Main()
Dim dateValues() As String = {"30-12-2011", "12-30-2011",
"30-12-11", "12-30-11"}
Dim pattern As String = "MM-dd-yy"
Dim parsedDate As Date
For Each dateValue As String In dateValues
If DateTime.TryParseExact(dateValue, pattern, Nothing,
DateTimeStyles.None, parsedDate) Then
Console.WriteLine("Converted '{0}' to {1:d}.",
dateValue, parsedDate)
Else
Console.WriteLine("Unable to convert '{0}' to a date and time.",
dateValue)
End If
Next
End Sub
End Module
' The example displays the following output:
' Unable to convert '30-12-2011' to a date and time.
' Unable to convert '12-30-2011' to a date and time.
' Unable to convert '30-12-11' to a date and time.
' Converted '12-30-11' to 12/30/2011.
Následující tabulka popisuje specifikátory vlastního formátu data a času a zobrazuje výsledný řetězec vytvořený specifikátorem jednotlivých formátů. Ve výchozím nastavení odráží výsledný řetězec konvence formátování jazykové verze en-US. Pokud konkrétní specifikátor formátu vytváří lokalizovaný výsledný řetězec, je v příkladu rovněž uvedena jazyková verze, na kterou se výsledný řetězec vztahuje. Další informace o použití vlastních řetězců formátu data a času najdete v části Poznámky .
Specifikátor formátu | Popis | Příklady |
---|---|---|
"d" | Den v měsíci, od 1 do 31. Další informace: Specifikátor vlastního formátu "d". |
2009-06-01T13:45:30 -> 1 2009-06-15T13:45:30 -> 15 |
"dd" | Den v měsíci, od 01 do 31. Další informace: Specifikátor vlastního formátu "dd". |
2009-06-01T13:45:30 -> 01 2009-06-15T13:45:30 -> 15 |
"ddd" | Zkrácený název dne v týdnu. Další informace: Specifikátor vlastního formátu "ddd". |
2009-06-15T13:45:30 -> Mon (en-US) 2009-06-15T13:45:30 -> Пн (ru-RU) 2009-06-15T13:45:30 -> lun. (fr-FR) |
"dddd" | Úplný název dne v týdnu. Další informace: Specifikátor vlastního formátu "dddd". |
2009-06-15T13:45:30 –> pondělí (en-US) 2009-06-15T13:45:30 -> понедельник (ru-RU) 2009-06-15T13:45:30 -> lundi (fr-FR) |
"f" | Desetiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "f". |
2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.05 -> 0 |
"ff" | Setiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "ff". |
2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> 00 |
"fff" | Milisekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "fff". |
6/15/2009 13:45:30.617 -> 617 6/15/2009 13:45:30.0005 -> 000 |
"ffff" | Desetitisíciny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "ffff". |
2009-06-15T13:45:30.6175000 -> 61755 2009-06-15T13:45:30.0000500 -> 0000 |
"fffff" | Stotisíciny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "fffff". |
2009-06-15T13:45:30.6175400 -> 61754 6/15/2009 13:45:30.000005 -> 000000 |
"ffffff" | Miliontiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "ffffff". |
2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> 00000000 |
"fffffff" | Desetimiliontiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "fffffff". |
2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 0001150 |
"F" | Pokud je hodnota nenulová, jedná se o desetiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "F". |
2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.0500000 -> (bez výstupu) |
"FF" | Pokud je hodnota nenulová, jedná se o setiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "FF". |
2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> (bez výstupu) |
"FFF" | Pokud je hodnota nenulová, jedná se o milisekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "FFF". |
2009-06-15T13:45:30.6170000 -> 617 2009-06-15T13:45:30.0005000 -> (bez výstupu) |
"FFFF" | Pokud je hodnota nenulová, jedná se o desetitisíciny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "FFFF". |
2009-06-15T13:45:30.5275000 -> 52755 2009-06-15T13:45:30.0000500 -> (bez výstupu) |
"FFFFF" | Pokud je hodnota nenulová, jedná se o stotisíciny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "FFFFF". |
2009-06-15T13:45:30.6175400 -> 61754 2009-06-15T13:45:30.0000050 -> (bez výstupu) |
"FFFFFF" | Pokud je hodnota nenulová, jedná se o miliontiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "FFFFFF". |
2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> (bez výstupu) |
"FFFFFFF" | Pokud je hodnota nenulová, jedná se o desetimiliontiny sekundy v hodnotě data a času. Další informace: Specifikátor vlastního formátu "FFFFFFF". |
2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 000115 |
"g", "gg" | Období nebo éra. Další informace: Specifikátor vlastního formátu "g" nebo "gg". |
2009-06-15T13:45:30.6170000 -> A.D. |
"h" | Hodiny ve 12hodinovém formátu, od 1 do 12. Další informace: Specifikátor vlastního formátu "h". |
2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 1 |
"hh" | Hodiny ve 12hodinovém formátu, od 01 do 12. Další informace: Specifikátor vlastního formátu "hh". |
2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 01 |
"H" | Hodiny ve 24hodinovém formátu, od 0 do 23. Další informace: Specifikátor vlastního formátu "H". |
2009-06-15T01:45:30 -> 1 2009-06-15T13:45:30 -> 13 |
"HH" | Hodiny ve 24hodinovém formátu, od 00 do 23. Další informace: Specifikátor vlastního formátu "HH". |
2009-06-15T01:45:30 -> 01 2009-06-15T13:45:30 -> 13 |
"K" | Informace o časovém pásmu. Další informace: Specifikátor vlastního formátu "K". |
S DateTime hodnotami: 2009-06-15T13:45:30, Druh nespecifikovaný -> 2009-06-15T13:45:30, Kind Utc -> Z 2009-06-15T13:45:30, Druh Místní -> -07:00 (závisí na nastavení místního počítače) S DateTimeOffset hodnotami: 2009-06-15T01:45:30-07:00 --> -07:00 2009-06-15T08:45:30+00:00 --> +00:00 |
"m" | Minuta, od 0 do 59. Další informace: Specifikátor vlastního formátu "m". |
2009-06-15T01:09:30 -> 9 2009-06-15T13:29:30 -> 29 |
"mm" | Minuta, od 00 do 59. Další informace: Specifikátor vlastního formátu "mm". |
2009-06-15T01:09:30 -> 09 2009-06-15T01:45:30 -> 45 |
"M" | Měsíc od 1 do 12. Další informace: Specifikátor vlastního formátu "M". |
2009-06-15T13:45:30 -> 6 |
"MM" | Měsíc od 01 do 12. Další informace: Specifikátor vlastního formátu "MM". |
2009-06-15T13:45:30 -> 06 |
"MMM" | Zkrácený název měsíce. Další informace: Specifikátor vlastního formátu "MMM". |
2009-06-15T13:45:30 -> Červen (cs-US) 2009-06-15T13:45:30 -> juin (fr-FR) 2009-06-15T13:45:30 -> Červen (zu-ZA) |
"MMMM" | Úplný název měsíce. Další informace: Specifikátor vlastního formátu "MMMM". |
2009-06-15T13:45:30 –> červen (cs-CZ) 2009-06-15T13:45:30 -> juni (da-DK) 2009-06-15T13:45:30 -> uJuni (zu-ZA) |
"s" | Druhý, od 0 do 59. Další informace: Specifikátor vlastního formátu "s". |
2009-06-15T13:45:09 -> 9 |
"ss" | Druhý, od 00 do 59. Další informace: Specifikátor vlastního formátu "ss". |
2009-06-15T13:45:09 -> 09 |
"t" | První znak označení pro dopoledne/odpoledne. Další informace: Specifikátor vlastního formátu "t". |
2009-06-15T13:45:30 -> P (en-US) 2009-06-15T13:45:30 -> 午 (ja-JP) 2009-06-15T13:45:30 -> (fr-FR) |
"tt" | Označení pro dopoledne/odpoledne. Další informace: Specifikátor vlastního formátu "tt". |
2009-06-15T13:45:30 -> PM (en-US) 2009-06-15T13:45:30 -> 午後 (ja-JP) 2009-06-15T13:45:30 -> (fr-FR) |
"y" | Rok, od 0 do 99. Další informace: Specifikátor vlastního formátu "y". |
0001-01-01T00:00:00 -> 1 0900-01-01T00:00:00 -> 0 1900-01-01T00:00:00 -> 0 2009-06-15T13:45:30 -> 9 2019-06-15T13:45:30 -> 19 |
"yy" | Rok, od 00 do 99. Další informace: Specifikátor vlastního formátu "yy". |
0001-01-01T00:00:00 -> 01 0900-01-01T00:00:00 -> 00 1900-01-01T00:00:00 -> 00 2019-06-15T13:45:30 -> 19 |
"yyy" | Rok s nejméně třemi číslicemi. Další informace: Specifikátor vlastního formátu "yyy". |
0001-01-01T00:00:00 -> 001 0900-01-01T00:00:00 -> 900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
"yyyy" | Rok jako čtyřmístné číslo. Další informace: Specifikátor vlastního formátu "yyyy". |
0001-01-01T00:00:00 -> 0001 0900-01-01T00:00:00 -> 0900 1900-01-01T00:00:00 -> 1900 2009-06-15T13:45:30 -> 2009 |
"yyyyy" | Rok jako pětimístné číslo. Další informace: Specifikátor vlastního formátu "yyyyy". |
0001-01-01T00:00:00 -> 00001 2009-06-15T13:45:30 -> 02009 |
"z" | Posun hodin od času UTC, bez počátečních nul. Další informace: Specifikátor vlastního formátu "z". |
2009-06-15T13:45:30-07:00 -> -7 |
"zz" | Posun hodin od času UTC, s počáteční nulou pro jednocifernou hodnotu. Další informace: Specifikátor vlastního formátu "zz". |
2009-06-15T13:45:30-07:00 -> -07 |
"zzz" | Posun v hodinách a minutách od času UTC. Další informace: Specifikátor vlastního formátu "zzz". |
2009-06-15T13:45:30-07:00 -> -07:00 |
":" | Oddělovač času. Další informace: Specifikátor vlastního formátu ":". |
2009-06-15T13:45:30 -> : (en-US) 2009-06-15T13:45:30 -> . (it-IT) 2009-06-15T13:45:30 -> : (ja-JP) |
"/" | Oddělovač data. Další informace: Specifikátor vlastního formátu "/". |
2009-06-15T13:45:30 -> / (en-US) 2009-06-15T13:45:30 -> - (ar-DZ) 2009-06-15T13:45:30 -> . (tr-TR) |
"string" Řetězec |
Oddělovač řetězcového literálu. Další informace: Literály znaků. |
2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P 2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P |
% | Definuje následující znak jako specifikátor vlastního formátu. Další informace: Použití specifikátorů jednoho vlastního formátu |
2009-06-15T13:45:30 (%h) -> 1 |
\ | Řídicí znak. Další informace: Literály znaků a použití řídicího znaku. |
2009-06-15T13:45:30 (h \h) -> 1 h |
Jakýkoli jiný znak | Znak je zkopírován do výsledného řetězce beze změny. Další informace: Literály znaků. |
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A |
Následující oddíly poskytují další informace o jednotlivých specifikátorech vlastního formátu data a času. Pokud není uvedeno jinak, každý specifikátor vytvoří identickou řetězcovou reprezentaci bez ohledu na to, jestli se používá s DateTime hodnotou nebo DateTimeOffset hodnotou.
Specifikátor formátu "d" dne
Specifikátor vlastního formátu "d"
Specifikátor vlastního formátu "d" představuje den v měsíci jako číslo od 1 do 31. Jednociferné číslo dne je formátováno bez počáteční nuly.
Pokud se specifikátor formátu "d" používá bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "d". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "d" v několika řetězcích formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("d, M",
CultureInfo.InvariantCulture));
// Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("d, M", _
CultureInfo.InvariantCulture))
' Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto
Specifikátor vlastního formátu "dd"
Řetězec vlastního formátu "dd" představuje den v měsíci jako číslo od 01 do 31. Jednociferné číslo dne je formátováno s počáteční nulou.
Následující příklad obsahuje specifikátor vlastního formátu "dd" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#
Console.WriteLine(date1.ToString("dd, MM", _
CultureInfo.InvariantCulture))
' 02, 01
Specifikátor vlastního formátu "ddd"
Specifikátor vlastního formátu "ddd" představuje zkrácený název dne v týdnu. Lokalizovaný zkrácený název dne v týdnu se načte z DateTimeFormatInfo.AbbreviatedDayNames vlastnosti aktuální nebo zadané jazykové verze.
Následující příklad obsahuje specifikátor vlastního formátu "ddd" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août
Specifikátor vlastního formátu "dddd"
Specifikátor vlastního formátu "dddd" (a libovolný počet dalších specifikátorů "d") představuje úplný název dne v týdnu. Lokalizovaný název dne v týdnu se načte z DateTimeFormatInfo.DayNames vlastnosti aktuální nebo zadané jazykové verze.
Následující příklad obsahuje specifikátor vlastního formátu "dddd" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto
Specifikátor zlomku "f" s malými písmeny
Specifikátor vlastního formátu "f"
Specifikátor vlastního formátu "f" představuje nejvýznamnější číslici zlomku sekund. Představuje tedy desetiny sekundy v hodnotě data a času.
Pokud se specifikátor formátu "f" používá bez jiných specifikátorů formátu, interpretuje se jako specifikátor standardního formátu data a času "f". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Pokud použijete specifikátory formátu "f" jako součást řetězce formátu zadaného do ParseExactřetězce formátu , TryParseExact, ParseExact, nebo TryParseExact metody, počet specifikátorů formátu "f" označuje počet nejvýznamnějších číslic zlomku sekund, které musí být přítomny pro úspěšné parsování řetězce.
Následující příklad obsahuje specifikátor vlastního formátu "f" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
Specifikátor vlastního formátu "ff"
Specifikátor vlastního formátu "ff" představuje dvě nejvýznamnější číslice zlomku sekund. Představuje tedy setiny sekundy v hodnotě data a času.
Následující příklad obsahuje specifikátor vlastního formátu "ff" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
Specifikátor vlastního formátu "fff"
Specifikátor vlastního formátu "fff" představuje tři nejvýznamnější číslice zlomku sekund. Představuje tedy milisekundy v hodnotě data a času.
Následující příklad obsahuje specifikátor vlastního formátu "fff" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
Specifikátor vlastního formátu "ffff"
Specifikátor vlastního formátu "ffff" představuje čtyři nejvýznamnější číslice zlomku sekund. Představuje tedy desetitisíciny sekundy v hodnotě data a času.
I když je možné zobrazit desetitisíce druhé součásti časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor vlastního formátu "fffff"
Specifikátor vlastního formátu "fffff" představuje pět nejvýznamnějších číslic zlomku sekund. Představuje tedy stotisíciny sekundy v hodnotě data a času.
I když je možné zobrazit stotisícové hodnoty druhé součásti časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor vlastního formátu "ffffff"
Specifikátor vlastního formátu "ffffff" představuje šest nejvýznamnějších číslic zlomku sekund. Představuje tedy miliontiny sekundy v hodnotě data a času.
I když je možné zobrazit milionty druhé komponenty časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor vlastního formátu "fffffff"
Specifikátor vlastního formátu "fffffff" představuje sedm nejvýznamnějších číslic zlomku sekund. Představuje tedy desetimiliontiny sekundy v hodnotě data a času.
I když je možné zobrazit desetimilionty druhé složky časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor zlomku "F" s velkými písmeny
Specifikátor vlastního formátu "F"
Specifikátor vlastního formátu "F" představuje nejvýznamnější číslici zlomku sekund. Představuje tedy desetiny sekundy v hodnotě data a času. Pokud je číslice nula, nic se nezobrazí a desetinná čárka, která následuje za počtem sekund, se také nezobrazí.
Pokud se specifikátor formátu "F" používá bez jiných specifikátorů formátu, interpretuje se jako specifikátor standardního formátu data a času "F". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Počet specifikátorů formátu "F" použitých se ParseExactspecifikátory formátu , TryParseExact, , ParseExactnebo TryParseExact metoda označuje maximální počet nejvýznamnějších číslic zlomku sekund, které mohou být přítomny pro úspěšné parsování řetězce.
Následující příklad obsahuje specifikátor vlastního formátu "F" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
Specifikátor vlastního formátu "FF"
Specifikátor vlastního formátu "FF" představuje dvě nejvýznamnější číslice zlomku sekund. Představuje tedy setiny sekundy v hodnotě data a času. Koncové nuly se nezobrazují. Pokud jsou dvě významné číslice nula, nic se nezobrazí a v takovém případě se nezobrazí ani desetinná čárka, která následuje za počtem sekund.
Následující příklad obsahuje specifikátor vlastního formátu "FF" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
Specifikátor vlastního formátu "FFF"
Specifikátor vlastního formátu "FFF" představuje tři nejvýznamnější číslice zlomku sekund. Představuje tedy milisekundy v hodnotě data a času. Koncové nuly se nezobrazují. Pokud jsou tři významné číslice nula, nic se nezobrazí a v takovém případě se nezobrazí ani desetinná čárka, která následuje za počtem sekund.
Následující příklad obsahuje specifikátor vlastního formátu "FFF" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018
Specifikátor vlastního formátu "FFFF"
Specifikátor vlastního formátu "FFFF" představuje čtyři nejvýznamnější číslice zlomku sekund. Představuje tedy desetitisíciny sekundy v hodnotě data a času. Koncové nuly se nezobrazují. Pokud jsou čtyři platné číslice nula, nic se nezobrazí a v takovém případě se nezobrazí ani desetinná čárka, která následuje za počtem sekund.
I když je možné zobrazit desetitisíce druhé součásti časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor vlastního formátu "FFFFF"
Specifikátor vlastního formátu "FFFFF" představuje pět nejvýznamnějších číslic zlomku sekund. Představuje tedy stotisíciny sekundy v hodnotě data a času. Koncové nuly se nezobrazují. Pokud je pět platných číslic nula, nic se nezobrazí a v takovém případě se nezobrazí ani desetinná čárka, která následuje za počtem sekund.
I když je možné zobrazit stotisícové hodnoty druhé součásti časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor vlastního formátu "FFFFFF"
Specifikátor vlastního formátu "FFFFFF" představuje šest nejvýznamnějších číslic zlomku sekund. Představuje tedy miliontiny sekundy v hodnotě data a času. Koncové nuly se nezobrazují. Pokud je šest platných číslic nula, nic se nezobrazí a v takovém případě se nezobrazí ani desetinná čárka, která následuje za počtem sekund.
I když je možné zobrazit milionty druhé komponenty časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor vlastního formátu "FFFFFFF"
Specifikátor vlastního formátu "FFFFFFF" představuje sedm nejvýznamnějších číslic zlomku sekund. Představuje tedy desetimiliontiny sekundy v hodnotě data a času. Koncové nuly se nezobrazují. Pokud je sedm platných číslic nula, nic se nezobrazí a v takovém případě se nezobrazí ani desetinná čárka, která následuje za počtem sekund.
I když je možné zobrazit desetimilionty druhé složky časové hodnoty, nemusí být tato hodnota smysluplná. Přesnost hodnot data a času závisí na rozlišení systémových hodin. V systémech Windows NT verze 3.5 (a vyšší) a Windows Vista je rozlišení hodin přibližně 10–15 milisekund.
Specifikátor formátu Era "g"
Specifikátor vlastního formátu "g" nebo "gg"
Specifikátory vlastního formátu "g" nebo "gg" (plus libovolný počet dalších specifikátorů "g") představují období nebo období, například A.D. Operace formátování tento specifikátor ignoruje, pokud datum, které má být formátováno, nemá přidružený řetězec období nebo éry.
Pokud se specifikátor formátu "g" používá bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "g". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "g" v řetězci vlastního formátu.
DateTime date1 = new DateTime(70, 08, 04);
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.
Dim date1 As Date = #08/04/0070#
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 08/04/0070 ap. J.-C.
Specifikátor formátu "h" s malými písmeny
Specifikátor vlastního formátu "h"
Specifikátor vlastního formátu "h" představuje hodinu jako číslo od 1 do 12; to znamená, že hodina je reprezentována 12hodinovými hodinami, které počítají celé hodiny od půlnoci nebo poledne. Konkrétní hodina po půlnoci je nerozeznatelná od stejné hodiny po poledni. Hodiny nejsou zaokrouhleny a jednociferné číslo hodiny je formátováno bez počáteční nuly. Například pro čas 5:43 dopoledne nebo odpoledne tento specifikátor vlastního formátu zobrazí hodnotu "5".
Pokud specifikátor formátu "h" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako standardní specifikátor formátu data a času a vyvolá FormatExceptionvýjimku . Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "h" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ
Specifikátor vlastního formátu "hh"
Specifikátor vlastního formátu "hh" (plus libovolný počet dalších specifikátorů "h") představuje hodinu jako číslo od 01 do 12; to znamená, že hodina je reprezentována 12hodinovými hodinami, které počítají celé hodiny od půlnoci nebo poledne. Konkrétní hodina po půlnoci je nerozeznatelná od stejné hodiny po poledni. Hodiny nejsou zaokrouhleny a jednociferné číslo hodiny je formátováno s počáteční nulou. Například pro čas 5:43 dopoledne nebo odpoledne tento specifikátor formátu zobrazí hodnotu "05".
Následující příklad obsahuje specifikátor vlastního formátu "hh" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
Specifikátor formátu "H" velká písmena
Specifikátor vlastního formátu "H"
Specifikátor vlastního formátu "H" představuje hodinu jako číslo od 0 do 23; to znamená, že hodina je reprezentována 24hodinovými hodinami založenými na nule, která počítá hodiny od půlnoci. Jednociferné číslo hodiny je formátováno bez počáteční nuly.
Pokud specifikátor formátu "H" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako standardní specifikátor formátu data a času a vyvolá FormatExceptionchybu . Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "H" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss",
CultureInfo.InvariantCulture));
// Displays 6:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
CultureInfo.InvariantCulture))
' Displays 6:09:01
Specifikátor vlastního formátu "HH"
Specifikátor vlastního formátu "HH" (plus libovolný počet dalších specifikátorů "H") představuje hodinu jako číslo od 00 do 23; to znamená, že hodina je reprezentována 24hodinovými hodinami založenými na nule, která počítá hodiny od půlnoci. Jednociferné číslo hodiny je formátováno s počáteční nulou.
Následující příklad obsahuje specifikátor vlastního formátu "HH" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss",
CultureInfo.InvariantCulture));
// Displays 06:09:01
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
CultureInfo.InvariantCulture))
' Displays 06:09:01
Specifikátor formátu "K" časového pásma
Specifikátor vlastního formátu "K"
Specifikátor vlastního formátu "K" představuje informace o časovém pásmu hodnoty data a času. Pokud se tento specifikátor formátu používá s DateTime hodnotami, je výsledný řetězec definován hodnotou DateTime.Kind vlastnosti:
Pro místní časové pásmo ( DateTime.Kind hodnota vlastnosti) tento specifikátor vytvoří výsledný řetězec obsahující místní posun od koordinovaného univerzálního DateTimeKind.Localčasu (UTC), například -07:00.
Pro čas UTC ( DateTime.Kind hodnota DateTimeKind.Utcvlastnosti) obsahuje výsledný řetězec znak "Z", který představuje datum UTC.
Pro čas z nezadaného časového pásma (čas, jehož DateTime.Kind vlastnost se rovná DateTimeKind.Unspecified), výsledek je ekvivalentní String.Empty.
U DateTimeOffset hodnot je specifikátor formátu "K" ekvivalentní specifikátoru formátu "zzz" a vytvoří výsledný řetězec obsahující DateTimeOffset posun hodnoty od utc.
Pokud specifikátor formátu "K" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako standardní specifikátor formátu data a času a vyvolá FormatExceptionvýjimku . Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad zobrazí řetězec, který je výsledkem použití specifikátoru vlastního formátu "K" s různými DateTime hodnotami DateTimeOffset v systému v americkém časovém pásmu Tichomoří.
Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00
Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z
Console.WriteLine("'{0}'", _
Date.SpecifyKind(Date.Now, _
DateTimeKind.Unspecified). _
ToString("%K"))
' Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
New TimeSpan(5, 0, 0)). _
ToString("%K"))
' Displays +05:00
Specifikátor formátu minute "m"
Specifikátor vlastního formátu "m"
Specifikátor vlastního formátu "m" představuje minutu jako číslo od 0 do 59. Minuta představuje celé minuty, které uplynuly od poslední hodiny. Jednociferné číslo minuty je formátováno bez počáteční nuly.
Pokud specifikátor formátu "m" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "m". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "m" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ
Specifikátor vlastního formátu "mm"
Specifikátor vlastního formátu "mm" (plus libovolný počet dalších specifikátorů "m") představuje minutu jako číslo od 00 do 59. Minuta představuje celé minuty, které uplynuly od poslední hodiny. Jednociferné číslo minut je formátováno s počáteční nulou.
Následující příklad obsahuje specifikátor vlastního formátu "mm" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
Specifikátor formátu "M" měsíce
Specifikátor vlastního formátu "M"
Specifikátor vlastního formátu "M" představuje měsíc jako číslo od 1 do 12 (nebo od 1 do 13 pro kalendáře, které mají 13 měsíců). Jednociferné číslo měsíce je formátováno bez počáteční nuly.
Pokud se specifikátor formátu "M" používá bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "M". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "M" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("nl-NL")));
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM",
CultureInfo.CreateSpecificCulture("lv-LV")));
// Displays (8) Aug, augusts
Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("nl-NL")))
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
CultureInfo.CreateSpecificCulture("lv-LV")))
' Displays (8) Aug, augusts
Specifikátor vlastního formátu "MM"
Specifikátor vlastního formátu "MM" představuje měsíc jako číslo od 01 do 12 (nebo od 1 do 13 pro kalendáře, které mají 13 měsíců). Jednociferné číslo měsíce je formátováno s počáteční nulou.
Následující příklad obsahuje specifikátor vlastního formátu "MM" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#
Console.WriteLine(date1.ToString("dd, MM", _
CultureInfo.InvariantCulture))
' 02, 01
Specifikátor vlastního formátu "MMM"
Specifikátor vlastního formátu "MMM" představuje zkrácený název měsíce. Lokalizovaný zkrácený název měsíce se načte z DateTimeFormatInfo.AbbreviatedMonthNames vlastnosti aktuální nebo zadané jazykové verze. Pokud v řetězci vlastního formátu existuje specifikátor vlastního formátu "d" nebo "dd", načte se místo toho z DateTimeFormatInfo.AbbreviatedMonthGenitiveNames vlastnosti.
Následující příklad obsahuje specifikátor vlastního formátu "MMM" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août
Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août
Specifikátor vlastního formátu "MMMM"
Specifikátor vlastního formátu "MMMM" představuje úplný název měsíce. Lokalizovaný název měsíce se načte z DateTimeFormatInfo.MonthNames vlastnosti aktuální nebo zadané jazykové verze. Pokud v řetězci vlastního formátu existuje specifikátor vlastního formátu "d" nebo "dd", načte se místo toho z DateTimeFormatInfo.MonthGenitiveNames vlastnosti.
Následující příklad obsahuje specifikátor vlastního formátu "MMMM" v řetězci vlastního formátu.
DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto
Dim date1 As Date = #08/29/2008 7:27:15PM#
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto
Specifikátor formátu sekund "s"
Specifikátor vlastního formátu "s"
Specifikátor vlastního formátu "s" představuje sekundy jako číslo od 0 do 59. Výsledek představuje celé sekundy, které uplynuly od poslední minuty. Jednociferné číslo sekundy je formátováno bez počáteční nuly.
Pokud se specifikátor formátu "s" používá bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "s". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "s" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ
Specifikátor vlastního formátu "ss"
Specifikátor vlastního formátu "ss" (plus libovolný počet dalších specifikátorů "s") představuje sekundy jako číslo od 00 do 59. Výsledek představuje celé sekundy, které uplynuly od poslední minuty. Jednociferné číslo sekundy je formátováno s počáteční nulou.
Následující příklad obsahuje specifikátor vlastního formátu "ss" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
Specifikátor formátu Meridiem "t"
Specifikátor vlastního formátu "t"
Specifikátor vlastního formátu "t" představuje první znak označení dopoledne/odpoledne. Odpovídající lokalizovaný designátor se načte z DateTimeFormatInfo.AMDesignator vlastnosti aktuální DateTimeFormatInfo.PMDesignator nebo konkrétní jazykové verze. Označení dopoledne (AM) se používá pro všechny hodnoty času od 0:00:00 (půlnoc) do 11:59:59.999. Označení odpoledne (PM) se používá pro všechny hodnoty času od 12:00:00 (poledne) do 23:59:59.999.
Pokud specifikátor formátu "t" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "t". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "t" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ
Specifikátor vlastního formátu "tt"
Specifikátor vlastního formátu "tt" (plus libovolný počet dalších specifikátorů "t") představuje celé označení dopoledne/odpoledne. Odpovídající lokalizovaný designátor se načte z DateTimeFormatInfo.AMDesignator vlastnosti aktuální DateTimeFormatInfo.PMDesignator nebo konkrétní jazykové verze. Označení dopoledne (AM) se používá pro všechny hodnoty času od 0:00:00 (půlnoc) do 11:59:59.999. Označení odpoledne (PM) se používá pro všechny hodnoty času od 12:00:00 (poledne) do 23:59:59.999.
Nezapomeňte použít specifikátor "tt" pro jazyky, pro které je nutné zachovat rozlišení mezi AM a PM. Pro ukázku je uvedena japonština, pro kterou se liší určení dopoledne a odpoledne (AM a PM) v druhém znaku namísto prvního znaku.
Následující příklad obsahuje specifikátor vlastního formátu "tt" v řetězci vlastního formátu.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.
Specifikátor formátu "y" roku
Specifikátor vlastního formátu "y"
Specifikátor vlastního formátu "y" představuje rok jako jednociferné nebo dvouciferné číslo. Pokud rok obsahuje více než dvě číslice, zobrazí se ve výsledku pouze dvě číslice nižšího řádu. Pokud první číslice dvoumístného čísla roku začíná nulou (například 2008), je číslo formátováno bez počáteční nuly.
Pokud specifikátor formátu "y" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako specifikátor standardního formátu data a času "y". Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "y" v řetězci vlastního formátu.
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
Specifikátor vlastního formátu "yy"
Specifikátor vlastního formátu "yy" představuje rok jako dvouciferné číslo. Pokud rok obsahuje více než dvě číslice, zobrazí se ve výsledku pouze dvě číslice nižšího řádu. Pokud má dvoumístný rok méně než dvě platné číslice, je číslo doplněno počátečními nulami za účelem vytvoření dvouciferného čísla.
V operaci analýzy se na základě Calendar.TwoDigitYearMax vlastnosti aktuálního kalendáře zprostředkovatele formátu interpretuje dvouciferný rok, který se analyzuje pomocí specifikátoru vlastního formátu "yyy". Následující příklad analyzuje řetězcovou reprezentaci data s rokem vyjádřeným dvěma číslicemi pomocí výchozího gregoriánského kalendáře jazykové verze en_US, což v tomto případě představuje aktuální jazykovou verzi. Potom změní objekt aktuální jazykové verze CultureInfo tak, aby používal GregorianCalendar objekt, jehož TwoDigitYearMax vlastnost byla změněna.
using System;
using System.Globalization;
using System.Threading;
public class Example7
{
public static void Main()
{
string fmt = "dd-MMM-yy";
string value = "24-Jan-49";
Calendar cal = (Calendar)CultureInfo.CurrentCulture.Calendar.Clone();
Console.WriteLine("Two Digit Year Range: {0} - {1}",
cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
Console.WriteLine();
cal.TwoDigitYearMax = 2099;
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.Calendar = cal;
Thread.CurrentThread.CurrentCulture = culture;
Console.WriteLine("Two Digit Year Range: {0} - {1}",
cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
}
}
// The example displays the following output:
// Two Digit Year Range: 1930 - 2029
// 1/24/1949
//
// Two Digit Year Range: 2000 - 2099
// 1/24/2049
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim fmt As String = "dd-MMM-yy"
Dim value As String = "24-Jan-49"
Dim cal As Calendar = CType(CultureInfo.CurrentCulture.Calendar.Clone(), Calendar)
Console.WriteLine("Two Digit Year Range: {0} - {1}",
cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
Console.WriteLine()
cal.TwoDigitYearMax = 2099
Dim culture As CultureInfo = CType(CultureInfo.CurrentCulture.Clone(), CultureInfo)
culture.DateTimeFormat.Calendar = cal
Thread.CurrentThread.CurrentCulture = culture
Console.WriteLine("Two Digit Year Range: {0} - {1}",
cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
End Sub
End Module
' The example displays the following output:
' Two Digit Year Range: 1930 - 2029
' 1/24/1949
'
' Two Digit Year Range: 2000 - 2099
' 1/24/2049
Následující příklad obsahuje specifikátor vlastního formátu "yy" v řetězci vlastního formátu.
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
Specifikátor vlastního formátu "yyy"
Specifikátor vlastního formátu "yyy" představuje rok nejméně se třemi číslicemi. Pokud rok obsahuje více než tři platné číslice, budou obsaženy ve výsledném řetězci. Pokud má rok méně než tři číslice, je číslo doplněno počátečními nulami tak, aby bylo vytvořeno trojciferné číslo.
Poznámka:
Pro thajský buddhistický kalendář, který může mít pět číslic roku, zobrazí tento specifikátor formátu všechny platné číslice.
Následující příklad obsahuje specifikátor vlastního formátu "yyy" v řetězci vlastního formátu.
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
Specifikátor vlastního formátu "yyyy"
Specifikátor vlastního formátu "yyyy" představuje rok nejméně se čtyřmi číslicemi. Pokud rok obsahuje více než čtyři platné číslice, budou obsaženy ve výsledném řetězci. Pokud má rok méně než čtyři číslice, je číslo doplněno počátečními nulami tak, aby bylo vytvořeno čtyřciferné číslo.
Poznámka:
Pro thajský buddhistický kalendář, který může mít pět číslic roku, zobrazí tento specifikátor formátu minimálně čtyři číslice.
Následující příklad obsahuje specifikátor vlastního formátu "yyyy" v řetězci vlastního formátu.
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
Specifikátor vlastního formátu "yyyyy"
Specifikátor vlastního formátu "yyyyy" (plus libovolný počet dalších specifikátorů "y") představuje rok nejméně s pěti číslicemi. Pokud rok obsahuje více než pět platných číslic, budou obsaženy ve výsledném řetězci. Pokud má rok méně než pět číslic, je číslo doplněno počátečními nulami tak, aby bylo vytvořeno pěticiferné číslo.
Pokud existují další specifikátory "y", je číslo doplněno tolika počátečními nulami, kolik je třeba pro vytvoření čísla podle specifikátorů "y".
Následující příklad obsahuje specifikátor vlastního formátu "yyyyy" v řetězci vlastního formátu.
DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010
Specifikátor formátu posunu "z"
Specifikátor vlastního formátu "z"
U DateTime hodnot specifikátor vlastního formátu "z" představuje podepsaný posun zadaného časového pásma od koordinovaného univerzálního času (UTC) měřeného v hodinách. Posun je vždy zobrazen s počátečním znaménkem. Znaménko plus (+) označuje hodiny před časem UTC a symbol mínus (-) označuje hodiny za časem UTC. Jednociferné odsazení je formátováno bez úvodní nuly.
Následující tabulka ukazuje, jak se posun hodnoty mění v závislosti na DateTimeKind.
DateTimeKind hodnota | Hodnota posunu |
---|---|
Local | Podepsaný posun časového pásma místního operačního systému od utc. |
Unspecified | Podepsaný posun časového pásma místního operačního systému od utc. |
Utc | +0 v .NET Core a .NET 5+. V rozhraní .NET Framework je podepsaný posun časového pásma místního operačního systému z UTC. |
S DateTimeOffset hodnotami představuje DateTimeOffset tento specifikátor formátu posun hodnoty od času UTC v hodinách.
Pokud specifikátor formátu "z" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako standardní specifikátor formátu data a času a vyvolá FormatExceptionvýjimku . Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Následující příklad obsahuje specifikátor vlastního formátu "z" v řetězci vlastního formátu.
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
Specifikátor vlastního formátu "zz"
S DateTime hodnotami představuje specifikátor vlastního formátu "zz" posun zadaného časového pásma z UTC měřený v hodinách. Posun je vždy zobrazen s počátečním znaménkem. Znaménko plus (+) označuje hodiny před časem UTC a symbol mínus (-) označuje hodiny za časem UTC. Jednociferný posun je formátován počáteční nulou.
Následující tabulka ukazuje, jak se posun hodnoty mění v závislosti na DateTimeKind.
DateTimeKind hodnota | Hodnota posunu |
---|---|
Local | Podepsaný posun časového pásma místního operačního systému od utc. |
Unspecified | Podepsaný posun časového pásma místního operačního systému od utc. |
Utc | +00 v .NET Core a .NET 5+. V rozhraní .NET Framework je podepsaný posun časového pásma místního operačního systému z UTC. |
S DateTimeOffset hodnotami představuje DateTimeOffset tento specifikátor formátu posun hodnoty od času UTC v hodinách.
Následující příklad obsahuje specifikátor vlastního formátu "zz" v řetězci vlastního formátu.
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
Specifikátor vlastního formátu "zzz"
S DateTime hodnotami specifikátor vlastního formátu "zzz" představuje podepsaný posun zadaného časového pásma z UTC měřený v hodinách a minutách. Posun je vždy zobrazen s počátečním znaménkem. Znaménko plus (+) označuje hodiny před časem UTC a symbol mínus (-) označuje hodiny za časem UTC. Jednociferné číslo posunu je formátováno s počáteční nulou.
Následující tabulka ukazuje, jak se posun hodnoty mění v závislosti na DateTimeKind.
DateTimeKind hodnota | Hodnota posunu |
---|---|
Local | Podepsaný posun časového pásma místního operačního systému od utc. |
Unspecified | Podepsaný posun časového pásma místního operačního systému od utc. |
Utc | +00:00 v .NET Core a .NET 5+. V rozhraní .NET Framework je podepsaný posun časového pásma místního operačního systému z UTC. |
S DateTimeOffset hodnotami představuje DateTimeOffset tento specifikátor formátu posun hodnoty od času UTC v hodinách a minutách.
Následující příklad obsahuje specifikátor vlastního formátu "zzz" ve vlastním řetězci formátu.
DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date1));
// Displays -7, -07, -07:00 on .NET Framework
// Displays +0, +00, +00:00 on .NET Core and .NET 5+
DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0,
new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}",
date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date1))
' Displays -7, -07, -07:00 on .NET Framework
' Displays +0, +00, +00:00 on .NET Core and .NET 5+
Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
date2))
' Displays +6, +06, +06:00
Specifikátory oddělovače data a času
Specifikátor vlastního formátu ":"
Specifikátor vlastního formátu ":" představuje oddělovač času, který se používá k rozlišení hodin, minut a sekund. Odpovídající lokalizovaný oddělovač času se načte z DateTimeFormatInfo.TimeSeparator vlastnosti aktuální nebo zadané jazykové verze.
Poznámka:
Pokud chcete změnit oddělovač času pro určitý řetězec data a času, zadejte znak oddělovače v řetězci literálu. Například řetězec hh'_'dd'_'ss
vlastního formátu vytvoří výsledný řetězec, ve kterém se jako oddělovač času vždy používá "_" (podtržítko). Chcete-li změnit oddělovač času pro všechna data jazykové verze, změňte hodnotu DateTimeFormatInfo.TimeSeparator vlastnosti aktuální jazykové verze nebo vytvořte instanci objektu, přiřaďte znak k jeho TimeSeparator vlastnosti a zavolejte DateTimeFormatInfo přetížení metody formátování, která obsahuje IFormatProvider parametr.
Pokud specifikátor formátu ":" použijete bez jiných specifikátorů vlastního formátu, interpretuje se jako standardní specifikátor formátu data a času a vyvolá FormatExceptionvýjimku . Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Specifikátor vlastního formátu "/"
Specifikátor vlastního formátu "/" představuje oddělovač dat, který se používá k rozlišení roků, měsíců a dnů. Odpovídající lokalizovaný oddělovač kalendářních dat se načte z DateTimeFormatInfo.DateSeparator vlastnosti aktuální nebo zadané jazykové verze.
Poznámka:
Pokud chcete změnit oddělovač kalendářních dat pro určitý řetězec data a času, zadejte znak oddělovače v řetězci literálu. Například řetězec mm'/'dd'/'yyyy
vlastního formátu vytvoří výsledný řetězec, ve kterém se jako oddělovač kalendářních dat vždy použije znak /. Chcete-li změnit oddělovač kalendářních DateTimeFormatInfo.DateSeparator dat pro všechna data jazykové verze, změňte hodnotu vlastnosti aktuální jazykové verze nebo vytvořte instanci objektu, přiřaďte znak k jeho DateSeparator vlastnosti a zavolejte DateTimeFormatInfo přetížení metody formátování, která obsahuje IFormatProvider parametr.
Pokud se specifikátor formátu "/" používá bez jiných specifikátorů vlastního formátu, interpretuje se jako standardní specifikátor formátu data a času a vyvolá FormatExceptionvýjimku . Další informace o použití specifikátoru jednoho formátu naleznete v části Použití specifikátorů jednoduchého vlastního formátu dále v tomto článku.
Literály znaků
Následující znaky ve vlastním řetězci formátu data a času jsou vyhrazeny a vždy jsou interpretovány jako formátovací znaky, nebo v případě "
, , '
/
a \
, jako speciální znaky.
F
H
K
M
d
f
g
h
m
s
t
y
z
%
:
/
"
'
\
Všechny ostatní znaky jsou vždy interpretovány jako literály znaků a ve operaci formátování jsou zahrnuty do výsledného řetězce beze změny. V operaci analýzy musí přesně odpovídat znakům ve vstupním řetězci; porovnání se rozlišují malá a velká písmena.
Následující příklad obsahuje literální znaky PST (pro Tichomoří standardní čas) a PDT (pro Tichomoří letní čas), které představují místní časové pásmo v řetězci formátu. Všimněte si, že řetězec je součástí výsledného řetězce a že řetězec, který obsahuje řetězec místního časového pásma, se také úspěšně parsuje.
using System;
using System.Globalization;
public class Example5
{
public static void Main()
{
String[] formats = { "dd MMM yyyy hh:mm tt PST",
"dd MMM yyyy hh:mm tt PDT" };
var dat = new DateTime(2016, 8, 18, 16, 50, 0);
// Display the result string.
Console.WriteLine(dat.ToString(formats[1]));
// Parse a string.
String value = "25 Dec 2016 12:00 pm PST";
DateTime newDate;
if (DateTime.TryParseExact(value, formats, null,
DateTimeStyles.None, out newDate))
Console.WriteLine(newDate);
else
Console.WriteLine("Unable to parse '{0}'", value);
}
}
// The example displays the following output:
// 18 Aug 2016 04:50 PM PDT
// 12/25/2016 12:00:00 PM
Imports System.Globalization
Module Example
Public Sub Main()
Dim formats() As String = {"dd MMM yyyy hh:mm tt PST",
"dd MMM yyyy hh:mm tt PDT"}
Dim dat As New Date(2016, 8, 18, 16, 50, 0)
' Display the result string.
Console.WriteLine(dat.ToString(formats(1)))
' Parse a string.
Dim value As String = "25 Dec 2016 12:00 pm PST"
Dim newDate As Date
If Date.TryParseExact(value, formats, Nothing,
DateTimeStyles.None, newDate) Then
Console.WriteLine(newDate)
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
End Sub
End Module
' The example displays the following output:
' 18 Aug 2016 04:50 PM PDT
' 12/25/2016 12:00:00 PM
Existují dva způsoby, jak označit, že se znaky mají interpretovat jako literální znaky, nikoli jako rezervované znaky, aby je bylo možné zahrnout do výsledného řetězce nebo úspěšně analyzovat ve vstupním řetězci:
- Po zapouzdření každého rezervovaného znaku. Další informace naleznete v tématu Použití řídicího znaku.
Následující příklad obsahuje literály "pst" (pro Tichomoří standardní čas), které představují místní časové pásmo v řetězci formátu. Vzhledem k tomu, že "s" i "t" jsou řetězce vlastního formátu, musí být oba znaky interpretovány jako literály znaků.
using System;
using System.Globalization;
public class Example3
{
public static void Main()
{
String format = "dd MMM yyyy hh:mm tt p\\s\\t";
var dat = new DateTime(2016, 8, 18, 16, 50, 0);
// Display the result string.
Console.WriteLine(dat.ToString(format));
// Parse a string.
String value = "25 Dec 2016 12:00 pm pst";
DateTime newDate;
if (DateTime.TryParseExact(value, format, null,
DateTimeStyles.None, out newDate))
Console.WriteLine(newDate);
else
Console.WriteLine("Unable to parse '{0}'", value);
}
}
// The example displays the following output:
// 18 Aug 2016 04:50 PM pst
// 12/25/2016 12:00:00 PM
Imports System.Globalization
Module Example
Public Sub Main()
Dim fmt As String = "dd MMM yyyy hh:mm tt p\s\t"
Dim dat As New Date(2016, 8, 18, 16, 50, 0)
' Display the result string.
Console.WriteLine(dat.ToString(fmt))
' Parse a string.
Dim value As String = "25 Dec 2016 12:00 pm pst"
Dim newDate As Date
If Date.TryParseExact(value, fmt, Nothing,
DateTimeStyles.None, newDate) Then
Console.WriteLine(newDate)
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
End Sub
End Module
' The example displays the following output:
' 18 Aug 2016 04:50 PM pst
' 12/25/2016 12:00:00 PM
- Uzavřením celého literálového řetězce do uvozovek nebo apostrofů. Následující příklad je podobný předchozímu, s tím rozdílem, že "pst" je uzavřen v uvozovkách, aby bylo možné označit, že celý řetězec s oddělovači by měl být interpretován jako literály znaků.
using System;
using System.Globalization;
public class Example6
{
public static void Main()
{
String format = "dd MMM yyyy hh:mm tt \"pst\"";
var dat = new DateTime(2016, 8, 18, 16, 50, 0);
// Display the result string.
Console.WriteLine(dat.ToString(format));
// Parse a string.
String value = "25 Dec 2016 12:00 pm pst";
DateTime newDate;
if (DateTime.TryParseExact(value, format, null,
DateTimeStyles.None, out newDate))
Console.WriteLine(newDate);
else
Console.WriteLine("Unable to parse '{0}'", value);
}
}
// The example displays the following output:
// 18 Aug 2016 04:50 PM pst
// 12/25/2016 12:00:00 PM
Imports System.Globalization
Module Example
Public Sub Main()
Dim fmt As String = "dd MMM yyyy hh:mm tt ""pst"""
Dim dat As New Date(2016, 8, 18, 16, 50, 0)
' Display the result string.
Console.WriteLine(dat.ToString(fmt))
' Parse a string.
Dim value As String = "25 Dec 2016 12:00 pm pst"
Dim newDate As Date
If Date.TryParseExact(value, fmt, Nothing,
DateTimeStyles.None, newDate) Then
Console.WriteLine(newDate)
Else
Console.WriteLine("Unable to parse '{0}'", value)
End If
End Sub
End Module
' The example displays the following output:
' 18 Aug 2016 04:50 PM pst
' 12/25/2016 12:00:00 PM
Notes
Použití specifikátorů s jedním vlastním formátem
Řetězec vlastního formátu data a času se skládá ze dvou nebo několika znaků. Metody formátování data a času interpretují jakýkoli řetězec s jediným znakem jako řetězec standardního formátu data a času. Pokud znak nerozpozná jako platný specifikátor formátu, vyvolá FormatExceptionznak . Například řetězec formátu, který se skládá pouze ze specifikátoru "h", je interpretován jako řetězec standardního formátu data a času. V tomto konkrétním případě je však vyvolán výjimka, protože neexistuje specifikátor standardního formátu data a času "h".
Chcete-li použít kterýkoli ze specifikátorů vlastního formátu data a času jako jediný specifikátor v řetězci formátu (to znamená, že chcete použít samotné specifikátory formátu "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" nebo "/"), vložte před nebo za specifikátor mezeru, nebo vložte před jednoduchý specifikátor vlastního formátu specifikátor formátu procento %.
Například "%h"
je interpretován jako vlastní řetězec formátu data a času, který zobrazuje hodinu reprezentovanou aktuální hodnotou data a času. Můžete také použít řetězec formátu " h" nebo "h ", ačkoli tato hodnota vloží ve výsledném řetězci vedle hodin mezeru. Následující příklad znázorňuje tyto tři řetězce formátu.
DateTime dat1 = new DateTime(2009, 6, 15, 13, 45, 0);
Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
// '1'
// ' 1'
// '1 '
Dim dat1 As Date = #6/15/2009 1:45PM#
Console.WriteLine("'{0:%h}'", dat1)
Console.WriteLine("'{0: h}'", dat1)
Console.WriteLine("'{0:h }'", dat1)
' The example displays the following output:
' '1'
' ' 1'
' '1 '
Použití řídicího znaku
Znaky "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":", nebo "/" v řetězci formátu jsou interpretovány jako specifikátory vlastního formátu, nikoli jako literální znaky. Pokud chcete zabránit interpretaci znaku jako specifikátoru formátu, můžete před něj použít zpětné lomítko (\), což je řídicí znak. Řídicí znak označuje, že následující znak je literální znak, který by měl být zařazen do výsledného řetězce beze změny.
Pokud chcete do výsledného řetězce zahrnout zpětné lomítko, musíte ho utéct jiným zpětným lomítkem (\\
).
Poznámka:
Některé kompilátory, jako jsou například kompilátory jazyka C++ a jazyka C#, mohou také interpretovat jedno zpětné lomítko jako řídicí znak. Abyste se ujistili, zda je řetězec interpretován při formátování správně, můžete v jazyce C# použít literální řetězcový znak verbatim (znak @) před řetězcem, nebo v jazyce C# a C++ přidat další znak zpětného lomítka před každé zpětné lomítko. Následující příklad jazyka C# ukazuje oba přístupy.
Následující příklad používá řídicí znak, aby zamezil operacím formátování v interpretaci znaků "h" a "m" jako specifikátorů formátu.
DateTime date = new DateTime(2009, 06, 15, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";
Console.WriteLine("{0} ({1}) -> {2}", date, fmt1, date.ToString(fmt1));
Console.WriteLine("{0} ({1}) -> {2}", date, fmt2, date.ToString(fmt2));
// The example displays the following output:
// 6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
// 6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
Dim date1 As Date = #6/15/2009 13:45#
Dim fmt As String = "h \h m \m"
Console.WriteLine("{0} ({1}) -> {2}", date1, fmt, date1.ToString(fmt))
' The example displays the following output:
' 6/15/2009 1:45:00 PM (h \h m \m) -> 1 h 45 m
nastavení Ovládací panely
Nastavení místní a jazykové možnosti v Ovládací panely ovlivňují výsledný řetězec vytvořený operací formátování, která zahrnuje mnoho specifikátorů vlastního formátu data a času. Tato nastavení slouží k inicializaci objektu DateTimeFormatInfo přidruženého k aktuální jazykové verzi, která poskytuje hodnoty používané k řízení formátování. Počítače, které používají různá nastavení, generují různé výsledné řetězce.
Kromě toho pokud použijete CultureInfo(String) konstruktor k vytvoření instance nového CultureInfo objektu, který představuje stejnou jazykovou verzi jako aktuální systémová jazyková verze, veškeré přizpůsobení vytvořené položkou Místní a jazykové možnosti v Ovládací panely budou použity na nový CultureInfo objekt. Konstruktor můžete použít CultureInfo(String, Boolean) k vytvoření objektu CultureInfo , který neodráží vlastní nastavení systému.
Vlastnosti DateTimeFormatInfo
Formátování je ovlivněno vlastnostmi aktuálního DateTimeFormatInfo objektu, která je poskytována implicitně aktuální jazykovou verzí nebo explicitně IFormatProvider parametrem metody, která vyvolá formátování. IFormatProvider Pro parametr byste měli zadat CultureInfo objekt, který představuje jazykovou verzi nebo DateTimeFormatInfo objekt.
Výsledný řetězec vytvořený mnoha specifikátory formátu data a času vlastního data a času závisí také na vlastnostech aktuálního DateTimeFormatInfo objektu. Vaše aplikace může změnit výsledek vytvořený některými vlastními specifikátory formátu data a času změnou odpovídající DateTimeFormatInfo vlastnosti. Specifikátor formátu "ddd" například přidá zkrácený název dne v týdnu nalezený v AbbreviatedDayNames řetězcovém poli do výsledného řetězce. Podobně specifikátor formátu "MMMM" přidá úplný název měsíce nalezený v řetězcovém MonthNames poli do výsledného řetězce.