Vlastní řetězce formátu data a času

Formátovací řetězec data a času definuje textovou reprezentaci DateTime DateTimeOffset hodnoty nebo, 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. Libovolný řetězec, který není standardním řetězcem formátu data a času , je interpretován jako řetězec vlastního 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žití řetězců formátu na číselné hodnoty nebo hodnoty data a času a zobrazuje 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 hodnotami i DateTime DateTimeOffset .

Poznámka

Některé příklady jazyka C# v tomto článku spustit v Try.NET inline kód runner a hřiště. Výběrem tlačítka Spustit spustíte příklad v interaktivním okně. Jakmile spustíte kód, můžete jej upravit a spustit upravený kód výběrem spustit znovu. Změněný kód se spustí v interaktivním okně nebo, pokud kompilace selže, interaktivní okno zobrazí všechny chybové zprávy kompilátoru Jazyka C#.

Místní časové pásmo Try.NET inline kód běžec a hřiště je koordinovaný světový čas, nebo UTC. To může ovlivnit chování a výstup příkladů, DateTime DateTimeOffsetkteré TimeZoneInfo ilustrují , a typy a jejich členy.

V operacích formátování lze použít vlastní formátovací řetězce data a času 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 analýze operací lze použít vlastní formátovací řetězce data a času s DateTime.ParseExact DateTime.TryParseExact DateTimeOffset.ParseExact metodami,, a DateTimeOffset.TryParseExact . Tyto metody vyžadují, aby byl vstupní řetězec přesně na konkrétní vzor, aby operace analýzy proběhla úspěšně. Následující příklad ukazuje volání DateTimeOffset.ParseExact(String, String, IFormatProvider) metody k analýze data, které musí zahrnovat den, měsíc a rok se dvěma číslicemi.

using System;
using System.Globalization;

public class Example
{
   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, který je vytvořen jednotlivými specifikátory formátu. 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 formátovacích řetězců data a času naleznete v části poznámky .

Specifikátor formátu Popis Příklady
"d" Den měsíce, 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 měsíce, 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 "dddd" vlastního formátu.
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 "f" vlastního formátu.
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 "FF" vlastního formátu.
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 "fff" vlastního formátu.
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-> 6175

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-> 00000
"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-> 000000
"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 "F" vlastního formátu.
2009-06-15T13:45:30.6170000-> 6

2009-06-15T13:45:30.0500000-> (žádný výstup)
"FF" Pokud je hodnota nenulová, jedná se o setiny sekundy v hodnotě data a času.

Další informace: specifikátor "FF" vlastního formátu.
2009-06-15T13:45:30.6170000-> 61

2009-06-15T13:45:30.0050000-> (žádný výstup)
"FFF" Pokud je hodnota nenulová, jedná se o milisekundy v hodnotě data a času.

Další informace: specifikátor "fff" vlastního formátu.
2009-06-15T13:45:30.6170000-> 617

2009-06-15T13:45:30.0005000-> (žádný výstup)
"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-> 5275

2009-06-15T13:45:30.0000500-> (žádný výstup)
"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-> (žádný výstup)
"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-> (žádný výstup)
"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-> N.L.
"h" Hodiny ve 12hodinovém formátu, od 1 do 12.

Další informace: specifikátor "h" vlastního formátu.
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 "HH" vlastního formátu.
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 "H" vlastního formátu.
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 "HH" vlastního formátu.
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, neurčený druh – >

2009-06-15T13:45:30, druh UTC-> Z

2009-06-15T13:45:30, druh Local->-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" Minuty, 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" Minuty, od 00 do 59.

Další informace: specifikátor "mm" vlastního formátu.
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 "mm" vlastního formátu.
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. >. června (EN-US)

2009-06-15T13:45:30-> juin (fr-FR)

2009-06-15T13:45:30-> června (zu-ZA)
"MMMM" Úplný název měsíce.

Další informace: Specifikátor vlastního formátu "MMMM".
2009-06-15T13:45:30-> června (EN-US)

2009-06-15T13:45:30-> Juni (da-DK)

2009-06-15T13:45:30-> uJuni (zu-ZA)
"s" Sekundy, od 0 do 59.

Další informace: Specifikátor vlastního formátu "s".
2009-06-15T13:45:09-> 9
"ss" Sekundy, 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-> ODP. (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 "rrrr".
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)
řetězec "String"

řetězec "String"
Oddělovač řetězcového literálu.

Další informace: znakové literály.
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í jednoduchých specifikátorů 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: znakové literály.
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. Není-li uvedeno jinak, každý specifikátor Vytvoří identickou řetězcovou reprezentaci bez ohledu na to, zda se používá s DateTime hodnotou nebo DateTimeOffset hodnotou.

Specifikátor formátu dne "d"

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 je specifikátor formátu "d" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "d". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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                                                

Zpět na tabulku

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

Zpět na tabulku

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 je načten 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                                                

Zpět na tabulku

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 je načten 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                                          

Zpět na tabulku

Specifikátor zlomku malých sekund "f"

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 specifikátor formátu "f" použijete bez dalšího specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "f". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů vlastního formátu dále v tomto článku.

Použijete-li specifikátory formátu "f" jako součást formátovacího řetězce dodaného ParseExact TryParseExact metodě,, ParseExact nebo TryParseExact , počet specifikátorů formátu "f" označuje počet nejvýznamnějších číslic zlomků sekund, které musí být k dispozici pro úspěšné analyzová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

Zpět na tabulku

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

Zpět na tabulku

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

Zpět na tabulku

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 deset sekundy druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

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 stovky sekundy druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

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 Desetimiliontiny druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

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 deset Desetimiliontiny druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

Velká a malá písmena F – specifikátor zlomku

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. Nic se nezobrazí, pokud je číslice nula a desetinná čárka, která následuje po počtu sekund, se zobrazí také.

Pokud specifikátor formátu "F" použijete bez dalšího specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "F". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů vlastního formátu dále v tomto článku.

Počet specifikátorů formátu "F" použitých s ParseExact TryParseExact metodou,, ParseExact nebo TryParseExact označuje maximální počet nejvýznamnějších číslic zlomků sekund, které mohou být k dispozici pro úspěšné analyzová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

Zpět na tabulku

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 nejsou zobrazeny. Nic se nezobrazí, pokud jsou dvě platné číslice nulové a v takovém případě se nezobrazí i desetinná čárka, která následuje po počtu 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

Zpět na tabulku

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 nejsou zobrazeny. Nic se nezobrazí, pokud jsou tři platné číslice nulové a v takovém případě se nezobrazí i desetinná čárka, která následuje po počtu 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

Zpět na tabulku

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 nejsou zobrazeny. Nic se nezobrazí, pokud jsou čtyři platné číslice nulové a v takovém případě se nezobrazí i desetinná čárka, která následuje po počtu sekund.

I když je možné zobrazit deset sekundy druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

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 nejsou zobrazeny. Nic se nezobrazí, pokud je pět platných číslic nula a v takovém případě se nezobrazí i desetinná čárka, která následuje po počtu sekund.

I když je možné zobrazit stovky sekundy druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

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 nejsou zobrazeny. Nic se nezobrazí, pokud je šest platných číslic nula a v takovém případě se nezobrazí i desetinná čárka, která následuje po počtu sekund.

I když je možné zobrazit Desetimiliontiny druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

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 nejsou zobrazeny. Nic se nezobrazí, pokud jsou sedm platných číslic nulové a v takovém případě se nezobrazí i desetinná čárka, která následuje po počtu sekund.

I když je možné zobrazit deset Desetimiliontiny druhé komponenty časové hodnoty, tato hodnota nemusí být 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.

Zpět na tabulku

Specifikátor formátu období "g"

Specifikátor vlastního formátu "g" nebo "GG"

Specifikátor vlastního formátu "g" nebo "gg" (plus libovolný počet dalších specifikátorů "g") představuje období nebo éru, jako je například n. l. Operace formátování ignoruje tento specifikátor, pokud datum, které má být formátováno, nemá přidružený řetězec tečky nebo období.

Pokud je specifikátor formátu "g" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "g". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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.

Zpět na tabulku

Specifikátor formátu malé hodiny "h"

Specifikátor vlastního formátu "h"

Specifikátor vlastního formátu "h" představuje hodiny jako číslo od 1 do 12. Hodiny jsou tedy reprezentovány ve 12hodinovém formátu, který počítá celé hodiny od půlnoci nebo od 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 je specifikátor formátu "h" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času a vyvolá FormatException . Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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 µ

Zpět na tabulku

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 hodiny jako čísla od 01 do 12. Představuje tedy hodiny ve 12hodinovém formátu, který počítá celé hodiny od půlnoci nebo od 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.

Zpět na tabulku

Specifikátor formátu velkých a malých písmen "H"

Specifikátor vlastního formátu "H"

Specifikátor vlastního formátu "H" představuje hodiny jako číslo od 0 do 23. Představuje tedy hodiny ve 24hodinovém formátu počítaném od nuly, který počítá celé hodiny od půlnoci. Jednociferné číslo hodiny je formátováno bez počáteční nuly.

Pokud je specifikátor formátu "H" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času a vyvolá FormatException . Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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                        

Zpět na tabulku

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 hodiny jako čísla od 00 do 23. Představuje tedy hodiny ve 24hodinovém formátu počítaném od nuly, který počítá celé 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                        

Zpět na tabulku

Specifikátor formátu časového pásma K

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. Při použití tohoto specifikátoru formátu s DateTime hodnotami je výsledný řetězec definován hodnotou DateTime.Kind vlastnosti:

  • Pro místní časové pásmo ( DateTime.Kind hodnota vlastnosti DateTimeKind.Local ) je tento specifikátor ekvivalentní specifikátoru "ZZZ" a vytváří výsledný řetězec obsahující místní posun od koordinovaného světového času (UTC), například "-07:00".

  • Pro čas UTC ( DateTime.Kind hodnota vlastnosti DateTimeKind.Utc ) výsledný řetězec obsahuje znak "Z", který představuje datum UTC.

  • Po dobu od nespecifikovaného časového pásma (čas DateTime.Kind , jehož vlastnost se rovná DateTimeKind.Unspecified ) je výsledek ekvivalentem String.Empty .

Pro DateTimeOffset hodnoty je specifikátor formátu "K" ekvivalentní specifikátoru formátu "ZZZ" a vytváří výsledný řetězec obsahující DateTimeOffset posun hodnoty od času UTC.

Pokud je specifikátor formátu "K" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času a vyvolá FormatException . Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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 a DateTimeOffset v systému v tichomořském časovém pásmu v USA.

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                        

Zpět na tabulku

Specifikátor formátu minut "m"

Specifikátor vlastního formátu "m"

Specifikátor vlastního formátu "m" představuje minuty jako čísla 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 je specifikátor formátu "m" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "m". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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 µ

Zpět na tabulku

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 minuty jako čísla 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.

Zpět na tabulku

Specifikátor formátu měsíce "M"

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 je specifikátor formátu "M" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "M". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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                       

Zpět na tabulku

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

Zpět na tabulku

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 je načten z DateTimeFormatInfo.AbbreviatedMonthNames vlastnosti aktuální nebo zadané jazykové verze.

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                                                

Zpět na tabulku

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 je načten z DateTimeFormatInfo.MonthNames vlastnosti aktuální nebo zadané jazykové verze.

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                                          

Zpět na tabulku

Sekund specifikátor formátu s

Specifikátor vlastního formátu "s"

Specifikátor vlastního formátu "s" představuje sekundy jako čísla 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 je specifikátor formátu "s" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "s". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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 µ

Zpět na tabulku

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 čísla 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.

Zpět na tabulku

Meridiem specifikátor formátu "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ý specifikátor specifikátoru je načten z DateTimeFormatInfo.AMDesignator vlastnosti nebo DateTimeFormatInfo.PMDesignator aktuální 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 je specifikátor formátu "t" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "t". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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 µ

Zpět na tabulku

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ý specifikátor specifikátoru je načten z DateTimeFormatInfo.AMDesignator vlastnosti nebo DateTimeFormatInfo.PMDesignator aktuální 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.

Ujistěte se, že používáte specifikátor "tt" pro jazyky, pro které je nezbytné zachovat rozdíl mezi dopolednem a ODPOLEDNEm. 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.

Zpět na tabulku

Specifikátor formátu Year "y"

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 je specifikátor formátu "y" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času "y". Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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      

Zpět na tabulku

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 rámci operace analýzy je dvoumístný rok, který je analyzován pomocí specifikátoru vlastního formátu "yy", interpretován na základě Calendar.TwoDigitYearMax vlastnosti aktuálního kalendáře poskytovatele formátu. 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. Poté změní objekt aktuální jazykové verze CultureInfo na použití GregorianCalendar objektu, jehož vlastnost byla TwoDigitYearMax změněna.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   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      

Zpět na tabulku

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      

Zpět na tabulku

Specifikátor vlastního formátu "rrrr"

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      

Zpět na tabulku

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      

Zpět na tabulku

Posunutí specifikátoru formátu "z"

Specifikátor vlastního formátu "z"

S DateTime hodnotami vlastní specifikátor formátu "z" představuje posun místního časového pásma operačního systému od koordinovaného světového času (UTC), měřeno v hodinách. Nereflektuje hodnotu DateTime.Kind vlastnosti instance. Z tohoto důvodu specifikátor formátu "z" není doporučeno používat s DateTime hodnotami.

S DateTimeOffset hodnotami představuje tento specifikátor formátu DateTimeOffset posun hodnoty od času UTC 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é číslo posunu je formátováno bez počáteční nuly.

Pokud je specifikátor formátu "z" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času a vyvolá FormatException . Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů 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

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                     

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

Zpět na tabulku

Specifikátor vlastního formátu "ZZ"

S DateTime hodnotami Specifikátor vlastního formátu "ZZ" představuje posun místního časového pásma operačního systému od času UTC, měřený v hodinách. Nereflektuje hodnotu DateTime.Kind vlastnosti instance. Z tohoto důvodu specifikátor formátu "ZZ" není doporučeno používat s DateTime hodnotami.

S DateTimeOffset hodnotami představuje tento specifikátor formátu DateTimeOffset posun hodnoty od času UTC 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é číslo posunu je formátováno s počáteční nulou.

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

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                     

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

Zpět na tabulku

Specifikátor vlastního formátu "ZZZ"

S DateTime hodnotami vlastní specifikátor formátu "ZZZ" představuje posun místního časového pásma operačního systému od času UTC, měřený v hodinách a minutách. Nereflektuje hodnotu DateTime.Kind vlastnosti instance. Z tohoto důvodu specifikátor formátu "ZZZ" není doporučeno používat s DateTime hodnotami.

S DateTimeOffset hodnotami představuje tento specifikátor formátu DateTimeOffset posun hodnoty od času UTC 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í 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

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                     

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

Zpět na tabulku

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 je načten z DateTimeFormatInfo.TimeSeparator vlastnosti aktuální nebo zadané jazykové verze.

Poznámka

Chcete-li změnit oddělovač času pro určitý řetězec data a času, zadejte znak oddělovače v oddělovači řetězcového literálu. Například řetězec vlastního formátu hh'_'dd'_'ss vytvoří výsledný řetězec, ve kterém je znak " _ " (podtržítko) vždy použit jako oddělovač času. Chcete-li změnit časový oddělovač pro všechna data jazykové verze, buď změňte hodnotu DateTimeFormatInfo.TimeSeparator vlastnosti aktuální jazykové verze, nebo vytvořte instanci DateTimeFormatInfo objektu, přiřaďte znak k TimeSeparator vlastnosti a zavolejte přetížení metody formátování, která obsahuje IFormatProvider parametr.

Pokud je specifikátor formátu ":" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času a vyvolá FormatException . Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů vlastního formátu dále v tomto článku.

Zpět na tabulku

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č data je načten z DateTimeFormatInfo.DateSeparator vlastnosti aktuální nebo zadané jazykové verze.

Poznámka

Chcete-li změnit oddělovač data pro určitý řetězec data a času, zadejte znak oddělovače v oddělovači řetězcového literálu. Například řetězec vlastního formátu mm'/'dd'/'yyyy vytvoří výsledný řetězec, ve kterém je znak "/" vždy použit jako oddělovač data. Chcete-li změnit oddělovač data pro všechna data jazykové verze, buď změňte hodnotu DateTimeFormatInfo.DateSeparator vlastnosti aktuální jazykové verze, nebo vytvořte instanci DateTimeFormatInfo objektu, přiřaďte znak k DateSeparator vlastnosti a zavolejte přetížení metody formátování, která obsahuje IFormatProvider parametr.

Pokud je specifikátor formátu "/" použit bez dalšího vlastního specifikátoru formátu, je interpretován jako specifikátor standardního formátu data a času a vyvolá FormatException . Další informace o použití jednoduchého specifikátoru formátu naleznete v části použití jednoduchých specifikátorů vlastního formátu dále v tomto článku.

Zpět na tabulku

Literály znaků

Následující znaky v řetězci vlastního formátu data a času jsou vyhrazeny a jsou vždy interpretovány jako znaky formátování nebo v případě speciálních znaků, v případě " ,, ' / a \ .

F H K M d
f g h m s
t y z % :
/ " ' \

Všechny ostatní znaky jsou vždy interpretovány jako znakové literály a v operaci formátování jsou zahrnuty ve výsledném řetězci beze změny. V operaci analýzy musí přesně odpovídat znakům ve vstupním řetězci; Porovnávání rozlišuje velká a malá písmena.

Následující příklad obsahuje literálové znaky "PST" (pro Tichomoří (běžný čas)) a "PDT" (pro Tichomoří (letní čas)) představující místní časové pásmo ve formátu řetězce. Všimněte si, že řetězec je zahrnut ve výsledném řetězci a že řetězec, který obsahuje řetězec místního časového pásma, se také úspěšně analyzuje.

using System;
using System.Globalization;

public class Example
{
   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 znaky se mají interpretovat jako literální znaky, a ne jako vyhrazené znaky, aby je bylo možné zahrnout do výsledného řetězce nebo úspěšně analyzovat ve vstupním řetězci:

Následující příklad obsahuje literálové znaky "PST" (pro Tichomoří (běžný čas)), které reprezentují místní časové pásmo ve formátu řetězce. Vzhledem k tomu, že obě "s" i "t" jsou vlastní formátovací řetězce, oba znaky musí být uvozeny, aby je bylo možné interpretovat jako znakové literály.

using System;
using System.Globalization;

public class Example
{
   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 PDT
//       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 v uvozovkách nebo apostrofech. Následující příklad je podobný předchozímu, s tím rozdílem, že "PST" je uzavřen v uvozovkách k označení toho, že celý řetězec s oddělovači by měl být interpretován jako znaková literály.
using System;
using System.Globalization;

public class Example
{
   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 PDT
//       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

Poznámky

Použití jednoduchých specifikátorů vlastního formátu

Ř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 nerozpoznají znak jako platný specifikátor formátu, vyvolají FormatException . 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ána výjimka, protože není k dispozici žádné standardní datum a TimeFormat specifikátoru "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 řetězec vlastního 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. Chcete-li zabránit interpretaci znaku jako specifikátoru formátu, můžete před něj zadat 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.

Chcete-li do výsledného řetězce zahrnout zpětné lomítko, je nutné ho vytvořit pomocí jiného zpětného lomítka ( \\ ).

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ích panelů

Nastavení místní a jazykové nastavení v Ovládacích panelech ovlivní výsledný řetězec vytvořený pomocí operace formátování, která zahrnuje mnoho vlastních specifikátorů formátu data a času. Tato nastavení slouží k inicializaci DateTimeFormatInfo objektu přidruženého k aktuální jazykové verzi vlákna, které poskytuje hodnoty použité 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í jazyková verze systému, všechna přizpůsobení, která jsou vytvořena položkou místní a jazykové nastavení v Ovládacích panelech, budou použita pro nový CultureInfo objekt. Konstruktor můžete použít CultureInfo(String, Boolean) k vytvoření CultureInfo objektu, který nereflektuje vlastní nastavení systému.

Vlastnosti DateTimeFormatInfo

Formátování je ovlivněno vlastnostmi aktuálního DateTimeFormatInfo objektu, který je poskytnut implicitně aktuální jazykovou verzí vlákna nebo explicitně IFormatProvider parametrem metody, která vyvolá formátování. Pro IFormatProvider parametr je nutné zadat CultureInfo objekt, který představuje jazykovou verzi nebo DateTimeFormatInfo objekt.

Výsledný řetězec vytvořený mnoha specifikátory vlastního formátu 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. Například specifikátor formátu "ddd" přidá zkrácený název dne v týdnu nalezený v AbbreviatedDayNames poli řetězců k výslednému řetězci. Podobně specifikátor formátu "MMMM" přidá do výsledného řetězce úplný název měsíce nalezený v poli MonthNames řetězců.

Viz také