Standardní formátovací řetězce data a času
Standardní datum a čas formát řetězce specifikátor jediný formát používá k definování textové vyjádření hodnoty data a času. Žádné datum a čas řetězec formátu, který obsahuje více znaků včetně mezer, je interpretován jako vlastní datum a čas formátovacího řetězce; Další informace naleznete v Vlastní formátovací řetězce data a času. Standardní nebo vlastní formát řetězce lze dvěma způsoby:
Definovat řetězec, který je výsledkem operace formátování.
Definovat zastoupení hodnota data a času, který lze převést na text DateTime nebo DateTimeOffset hodnota podle analýzy operace.
Standardní formátovací řetězec data a času může být použit s oběma hodnotami DateTime a DateTimeOffset.
Tip |
---|
Můžete stáhnout Formát nástrojeaplikace, která umožňuje použít formát řetězce číselné nebo datové a časové hodnoty a zobrazí výsledný řetězec. |
Následující tabulka popisuje standardní specifikátory formátu data a času. Pokud není uvedeno jinak, určité standardní specifikátory formátu data a času vytváří identické řetězcové vyjádření bez ohledu na to, zda je použit s hodnotou DateTime nebo DateTimeOffset. Další informace o použití standardních formátovacích řetězců data a času naleznete v oddíle Poznámky.
Specifikátor formátu |
Popis |
Příklady |
---|---|---|
"d" |
Vzorek krátkého data. Další informace: Krátký specifikátor formátu data d . |
6/15/2009 1:45:30 odp. -> 6/15/2009 (en-US) 6/15/2009 1:45:30 odp. -> 15/06/2009 (fr-FR) 6/15/2009 1:45:30 odp. -> 2009/06/15 (ja-JP) |
"D" |
Vzorek dlouhého data. Další informace: Specifikátor formátu dlouhého data D . |
6/15/2009 1:45:30 odp. -> Monday, June 15 2009 (en-US) 6/15/2009 1:45:30 odp. -> 15 июня 2009 г. (ru-RU) 6/15/2009 1:45:30 odp. -> Montag, 15. Juni 2009 (de-DE) |
"f" |
Úplný vzorek data a času (krátký čas). Další informace: Úplný specifikátor formátu data a krátkého času f. |
6/15/2009 1:45:30 odp. -> Monday, June 15, 2009 1:45 odp. (en-US) 6/15/2009 1:45:30 odp. -> den 15 juni 2009 13:45 (sv-SE) 6/15/2009 1:45:30 odp. -> Δευτέρα, 15 Ιουνίου 2009 1: 45 μμ (el-GR) |
"F" |
Úplný vzorek data a času (dlouhý čas). Další informace: Úplný specifikátor formátu data a dlouhého času F. |
6/15/2009 1:45:30 odp. -> Monday, June 15, 2009 1:45:30 odp. (en-US) 6, 15/2009 1:45:30 PM - > juni den 15 2009 13: 45: 30 (sv-SE) 6/15/2009 1:45:30 odp. -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μμ (el-GR) |
"g" |
Obecný vzorek data a času (krátký čas). Další informace: Obecný specifikátor formátu data a krátkého času g. |
6/15/2009 1:45:30 odp. -> 6/15/2009 1:45:30 odp. (en-US) 6/15/2009 1:45:30 odp. -> 15/06/2009 13:45 (es-ES) 6/15/2009 1:45:30 odp. -> 2009/6/15 13:45 (zh-CN) |
G |
Obecný vzorek data a času (dlouhý čas). Další informace: Specifikátor formátu obecného data a dlouhého času G. |
6/15/2009 1:45:30 odp. -> 6/15/2009 1:45:30 odp. (en-US) 6/15/2009 1:45:30 odp. -> 15/06/2009 13:45:30 (es-ES) 6/15/2009 1:45:30 odp. -> 2009/6/15 13:45:30 (zh-CN) |
M, m |
Vzorek měsíc/den. Další informace: Specifikátor formátu měsíce M, m. |
6/15/2009 1:45:30 odp. -> June 15 (en-US) 6/15/2009 1:45:30 odp. -> 15. juni (da-DK) 6/15/2009 1:45:30 odp. -> 15 Juni (id-ID) |
O, o |
Vzorek Round-trip datum/čas. Další informace: Specifikátor formátu Round-trip O, o. |
6/15/2009 1:45:30 odp. -> 2009-06-15T13:45:30.0900000 |
R, r |
vzorek RFC1123. Další informace: Specifikátor formátu RFC1123 R, r. |
6/15/2009 1:45:30 odp. -> Mon, 15 Jun 2009 20:45:30 GMT |
s |
Vzorek, data/času, který lze seřazovat. Další informace: Specifikátor formátu s, který lze seřazovat. |
6/15/2009 1:45:30 odp. -> 2009-06-15T13:45:30 |
t |
Vzorek krátkého času. Další informace: Specifikátor formátu krátkého času t. |
6/15/2009 1:45:30 odp. ->1:45 odp. (en-US) 6/15/2009 1:45:30 odp. -> 13:45 (hr-HR) 6/15/2009 1:45:30 odp.-> 01:45 م (ar-EG) |
"T" |
Vzorek dlouhého času. Další informace: Specifikátor formátu dlouhého času T. |
6/15/2009 1:45:30 odp. -> 1:45:30 odp. (en-US) 6/15/2009 1:45:30 odp. -> 13:45:30 (hr-HR) 6/15/2009 1:45:30 odp.-> 01:45:30 م (ar-EG) |
"u" |
Univerzální vzorek data a času, který lze seřadit. Další informace: Univerzální specifikátor formátu u, který lze seřadit. |
6/15/2009 1:45:30 odp. -> 2009-06-15 20:45:30Z |
U |
Univerzální vzorek úplného data a času. Další informace: Univerzální plný specifikátor formátu U. |
6/15/2009 1:45:30 odp. -> Monday, June 15, 2009 8:45:30 odp. (en-US) 6, 15/2009 1:45:30 PM - > juni den 15 2009 20: 45: 30 (sv-SE) 6/15/2009 1:45:30 odp. -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR) |
Y, y |
Vzorek roku a měsíce. Další informace: Specifikátor formátu roku měsíce Y. |
6/15/2009 1:45:30 odp. -> June, 2009 (en-US) 6/15/2009 1:45:30 odp. -> juni 2009 (da-DK) 6/15/2009 1:45:30 odp. -> Juni 2009 (id-ID) |
Jakýkoli jiný samostatný znak |
Neznámý specifikátor. |
Vyvolá FormatException. |
Jak pracují standardní řetězce formátu
Operace formátování je standardní formát řetězce jednoduše alias pro vlastní řetězec formátu. Výhodou použití aliasu pro odkaz na vlastní formátovací řetězec je, že ačkoli alias zůstane invariantní, vlastní formátovací řetězec se může měnit. To je důležité, protože řetězcové vyjádření hodnot data a času se obvykle liší podle jazykové verze. Například standardní formátovací řetězec d označuje, že hodnota data a času je zobrazená pomocí vzorku krátkého data. Pro invariantní jazykovou verzi je to vzorek MM/dd/yyyy. Pro jazykovou verzi fr-FR je to dd/MM/yyyy. Pro jazykovou verzi ja-JP je to yyyy/MM/dd.
Pokud standardní formát řetězce v operace formátování mapuje konkrétní kultuře vlastní řetězec formátu, aplikace definovat konkrétní kultury, jehož vlastní formát řetězce budou použity v jednom z těchto způsobů:
Můžete použít výchozí (nebo aktuální) jazykovou verzi. Následující příklad zobrazí datum pomocí formátu krátkého data současné jazykové verze. V tomto případě je současná jazyková verze en-US.
' Display using current (en-us) culture's short date format Dim thisDate As Date = #03/15/2008# Console.WriteLine(thisDate.ToString("d")) ' Displays 3/15/2008
// Display using current (en-us) culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); Console.WriteLine(thisDate.ToString("d")); // Displays 3/15/2008
Můžete předat objekt CultureInfo, který reprezentuje jazykovou verzi, jejíž formátování má být použito k metodě, která má parametr IFormatProvider. Následující příklad zobrazí datum pomocí formátu krátkého data jazykové verze pt-BR.
' Display using pt-BR culture's short date format Dim thisDate As Date = #03/15/2008# Dim culture As New CultureInfo("pt-BR") Console.WriteLine(thisDate.ToString("d", culture)) ' Displays 15/3/2008
// Display using pt-BR culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); CultureInfo culture = new CultureInfo("pt-BR"); Console.WriteLine(thisDate.ToString("d", culture)); // Displays 15/3/2008
Můžete předat objekt DateTimeFormatInfo, který poskytuje informace o formátování metodě, která má parametr IFormatProvider. Následující příklad zobrazí datum pomocí formátu krátkého data z objektu DateTimeFormatInfo pro jazykovou verzi hr-HR.
' Display using date format information from hr-HR culture Dim thisDate As Date = #03/15/2008# Dim fmt As DateTimeFormatInfo = (New CultureInfo("hr-HR")).DateTimeFormat Console.WriteLine(thisDate.ToString("d", fmt)) ' Displays 15.3.2008
// Display using date format information from hr-HR culture DateTime thisDate = new DateTime(2008, 3, 15); DateTimeFormatInfo fmt = (new CultureInfo("hr-HR")).DateTimeFormat; Console.WriteLine(thisDate.ToString("d", fmt)); // Displays 15.3.2008
V některých případech slouží standardní formátovací řetězec jako vhodná zkratka pro delší vlastní formátovací řetězec, který je invariantní. Do této kategorie spadají čtyři standardní formátovací řetězce: O (nebo o), R (nebo r), s, a u. Tyto řetězce odpovídají vlastním formátovacím řetězcům, které jsou definovány invariantní jazykovou verzí. Produkují řetezcové vyjádření hodnot data a času, které jsou určeny k tomu, aby byly stejné napříč jazykovými verzemi. Následující tabulka obsahuje informace o těchto čtyřech standardních formátovacích řetězcích data a času.
Standardní formátovací řetězec |
Definovaný vlastností DateTimeFormatInfo.InvariantInfo |
Vlastní formátovací řetězec |
---|---|---|
O nebo o |
Žádné |
yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzz |
R nebo r |
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' |
|
s |
yyyy'-'MM'-'dd'T'HH':'mm':'ss |
|
"u" |
yyyy'-'MM'-'dd HH':'mm':'ss'Z' |
Standardní formát řetězce lze také použít při analýze operací DateTime.ParseExact nebo DateTimeOffset.ParseExact metod, které vyžadují vstupní řetězec přesně vyhovující určitým způsobem analýzy operace úspěšná. Mnoho standardní formát řetězce mapovat více vlastní formát řetězce tak datum a čas lze znázornit v různých formátech a budou stále úspěšné operace analýzy. Můžete určit vlastní formát řetězce nebo řetězců, které odpovídají standardní formát řetězce voláním DateTimeFormatInfo.GetAllDateTimePatterns(Char) metody. Následující příklad zobrazí vlastní formát řetězce, které mapují "d" standardní formát řetězce (krátkého vzorek).
Imports System.Globalization
Module Example
Public Sub Main()
Console.WriteLine("'d' standard format string:")
For Each customString In DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns("d"c)
Console.WriteLine(" {0}", customString)
Next
End Sub
End Module
' The example displays the following output:
' 'd' standard format string:
' M/d/yyyy
' M/d/yy
' MM/dd/yy
' MM/dd/yyyy
' yy/MM/dd
' yyyy-MM-dd
' dd-MMM-yy
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
Console.WriteLine("'d' standard format string:");
foreach (var customString in DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns('d'))
Console.WriteLine(" {0}", customString);
}
}
// The example displays the following output:
// 'd' standard format string:
// M/d/yyyy
// M/d/yy
// MM/dd/yy
// MM/dd/yyyy
// yy/MM/dd
// yyyy-MM-dd
// dd-MMM-yy
Následující oddíly popisují standardní specifikátory formátu pro hodnoty DateTime a DateTimeOffset.
Specifikátor formátu krátkého data d
Standardní specifikátor formátu d reprezentuje vlastní formátovací řetězec data a času, který je definován určitou vlastností DateTimeFormatInfo.ShortDatePattern jazykové verze. Například vlastní formátovací řetězec, který je vrácen vlastností ShortDatePattern invariantní jazykové verze, je MM/dd/yyyy.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které řídí formátování vráceného řetězce.
Vlastnost |
Popis |
---|---|
Definuje celkový formát výsledného řetězce. |
|
Určuje řetězec, který odděluje komponenty data roku, měsíce a dne. |
Následující příklad používá specifikátor formátu d k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays 4/10/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("en-NZ")))
' Displays 10/04/2008
Console.WriteLine(date1.ToString("d", _
CultureInfo.CreateSpecificCulture("de-DE")))
' Displays 10.04.2008
DateTime date1 = new DateTime(2008,4, 10);
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 4/10/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("en-NZ")));
// Displays 10/04/2008
Console.WriteLine(date1.ToString("d",
CultureInfo.CreateSpecificCulture("de-DE")));
// Displays 10.04.2008
Zpět na tabulku
Specifikátor formátu dlouhého data D
Standardní specifikátor formátu D reprezentuje vlastní formátovací řetězec data a času, který je definován aktuální vlastností DateTimeFormatInfo.LongDatePattern. Například vlastní formátovací řetězec pro invariantní jazykovou verzi je dddd, dd MMMM yyyy.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které řídí formátování vráceného řetězce.
Vlastnost |
Popis |
---|---|
Definuje celkový formát výsledného řetězce. |
|
Definuje lokalizované názvy dne, které se mohou objevit ve výsledném řetězci. |
|
Definuje lokalizované názvy měsíce, které se mohou objevit ve výsledném řetězci. |
Následující příklad používá specifikátor formátu D k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("pt-BR")))
' Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D", _
CultureInfo.CreateSpecificCulture("es-MX")))
' Displays jueves, 10 de abril de 2008
DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
Zpět na tabulku
Specifikátor formátu úplného data a krátkého času f
Standardní specifikátor formátu f představuje kombinaci vzorků dlouhého data D a krátkého času t, oddělené mezerou.
Na výsledný řetězec má vliv informace o formátování specifického objektu DateTimeFormatInfo. V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou řídít formátování vráceného řetězce. Vlastní specifikátor formátu vrácený vlastnostmi DateTimeFormatInfo.LongDatePattern a DateTimeFormatInfo.ShortTimePattern některých jazykových verzí nemusí používat všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje formát komponenty data výsledného řetězce. |
|
Definuje formát komponenty času výsledného řetězce. |
|
Definuje lokalizované názvy dne, které se mohou objevit ve výsledném řetězci. |
|
Definuje lokalizované názvy měsíce, které se mohou objevit ve výsledném řetězci. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Následující příklad používá specifikátor formátu f k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("f", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("f",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30
Zpět na tabulku
Specifikátor formátu úplného data a dlouhého času F.
Standardní specifikátor formátu F reprezentuje vlastní formátovací řetězec data a času, který je definován aktuální vlastností DateTimeFormatInfo.FullDateTimePattern. Například vlastní formátovací řetězec pro invariantní jazykovou verzi je dddd, dd MMMM yyyy HH:mm:ss.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou řídit formátování vráceného řetězce. Specifikátor vlastní formát, který vrátil FullDateTimePattern Vlastnost některých kultur zhotovit použít všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje celkový formát výsledného řetězce. |
|
Definuje lokalizované názvy dne, které se mohou objevit ve výsledném řetězci. |
|
Definuje lokalizované názvy měsíce, které se mohou objevit ve výsledném řetězci. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Následující příklad používá specifikátor formátu F k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("F", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30:00
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30:00
Zpět na tabulku
Obecný specifikátor formátu data a krátkého času g
Standardní specifikátor formátu g představuje kombinaci vzorků krátkého data d a krátkého času t, oddělené mezerou.
Na výsledný řetězec má vliv informace o formátování specifického objektu DateTimeFormatInfo. V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou kontrolovat formátování vráceného řetězce. Specifikátor vlastní formát, který vrátil DateTimeFormatInfo.ShortDatePattern a DateTimeFormatInfo.ShortTimePattern Vlastnosti některých kultur zhotovit použít všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje formát komponenty data výsledného řetězce. |
|
Definuje formát komponenty času výsledného řetězce. |
|
Určuje řetězec, který odděluje komponenty data roku, měsíce a dne. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Následující příklad používá specifikátor formátu g k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("g", _
DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g", _
CultureInfo.CreateSpecificCulture("fr-BE")))
' Displays 10/04/2008 6:30
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("g",
DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g",
CultureInfo.CreateSpecificCulture("fr-BE")));
// Displays 10/04/2008 6:30
Zpět na tabulku
Obecný specifikátor formátu data a dlouhého času G.
Standardní specifikátor formátu G představuje kombinaci vzorků krátkého data d a dlouhého času T, oddělené mezerou.
Na výsledný řetězec má vliv informace o formátování specifického objektu DateTimeFormatInfo. V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou kontrolovat formátování vráceného řetězce. Specifikátor vlastní formát, který vrátil DateTimeFormatInfo.ShortDatePattern a DateTimeFormatInfo.LongTimePattern Vlastnosti některých kultur zhotovit použít všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje formát komponenty data výsledného řetězce. |
|
Definuje formát komponenty času výsledného řetězce. |
|
Určuje řetězec, který odděluje komponenty data roku, měsíce a dne. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Následující příklad používá specifikátor formátu G k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("G", _
DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G", _
CultureInfo.CreateSpecificCulture("nl-BE")))
' Displays 10/04/2008 6:30:00
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("G",
DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G",
CultureInfo.CreateSpecificCulture("nl-BE")));
// Displays 10/04/2008 6:30:00
Zpět na tabulku
Specifikátor formátu měsíce M, m
Standardní specifikátor formátu M nebo m reprezentuje vlastní formátovací řetězec data a času, který je definován aktuální vlastností DateTimeFormatInfo.MonthDayPattern. Například vlastní formátovací řetězec pro invariantní jazykovou verzi je MMMM dd.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které řídí formátování vráceného řetězce.
Vlastnost |
Popis |
---|---|
Definuje celkový formát výsledného řetězce. |
|
Definuje lokalizované názvy měsíce, které se mohou objevit ve výsledném řetězci. |
Následující příklad používá specifikátor formátu m k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("m", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays April 10
Console.WriteLine(date1.ToString("m", _
CultureInfo.CreateSpecificCulture("ms-MY")))
' Displays 10 April
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("m",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays April 10
Console.WriteLine(date1.ToString("m",
CultureInfo.CreateSpecificCulture("ms-MY")));
// Displays 10 April
Zpět na tabulku
Specifikátor formátu Round-trip O, o.
Standardní specifikátor formátu O nebo o představuje vlastní formátovací řetězec data a času s použitím vzorku, který zachová informace o časovém pásmu. Pro hodnoty DateTime je tento specifikátor formátu navržen tak, aby zachoval hodnoty data a času spolu s vlastností DateTime.Kind v textu. Formátovaný řetězec může být analyzován zpět pomocí metody DateTime.Parse(String, IFormatProvider, DateTimeStyles) nebo DateTime.ParseExact, je-li parametr styles nastaven na DateTimeStyles.RoundtripKind.
Standardní specifikátor formátu O nebo o odpovídá vlastnímu formátovacímu řetězci yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK pro hodnoty DateTime a vlastní formátovací řetězec yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz hodnotám DateTimeOffset. Dvojice jednoduchých uvozovek v tomto řetězci, které vymezují jednotlivé znaky, jako jsou například spojovníky, dvojtečny a písmeno T, označují, že jednotlivé znaky jsou literální, které nemohou být změněny. Apostrofy se nezobrazují ve výstupním řetězci.
Vzorek pro tento specifikátor odráží definovaný standard ISO 8601. Proto je vždy stejný, bez ohledu na použitou jazykovou verzi, nebo dodaného poskytovatele formátu. Řetězce, které jsou předány metodě Parse nebo ParseExact, musí přesně odpovídat tomuto vlastnímu vzorku formátu, nebo bude vyvolána FormatException.
Formátovací nebo analyzující operace používá vždy invariantní jazykovou verzi při použití tohoto standardního specifikátoru formátu.
Následující příklad používá specifikátor formátu o pro zobrazení hodnoty DateTime a DateTimeOffset v systému v tichomořském časovém pásmu.
Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToString("o"))
' Displays 2008-04-10T06:30:00.0000000
Console.WriteLine(dateOffset.ToString("o"))
' Displays 2008-04-10T06:30:00.0000000-07:00
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToString("o"));
// Displays 2008-04-10T06:30:00.0000000
Console.WriteLine(dateOffset.ToString("o"));
// Displays 2008-04-10T06:30:00.0000000-07:00
Následující příklad používá specifikátor formátu o pro vytvoření naformátovaného řetězce a poté obnoví voláním metody data a času Parse původní hodnotu data a času.
' Round-trip DateTime values.
Dim originalDate, newDate As Date
Dim dateString As String
' Round-trip a local time.
originalDate = Date.SpecifyKind(#4/10/2008 6:30AM#, DateTimeKind.Local)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip a UTC time.
originalDate = Date.SpecifyKind(#4/12/2008 9:30AM#, DateTimeKind.Utc)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip time in an unspecified time zone.
originalDate = Date.SpecifyKind(#4/13/2008 12:30PM#, DateTimeKind.Unspecified)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
newDate, newDate.Kind)
' Round-trip a DateTimeOffset value.
Dim originalDTO As New DateTimeOffset(#4/12/2008 9:30AM#, New TimeSpan(-8, 0, 0))
dateString = originalDTO.ToString("o")
Dim newDTO As DateTimeOffset = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO)
' The example displays the following output:
' Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
' Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
' Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
' Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
// Round-trip DateTime values.
DateTime originalDate, newDate;
string dateString;
// Round-trip a local time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 10, 6, 30, 0), DateTimeKind.Local);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
newDate, newDate.Kind);
// Round-trip a UTC time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 12, 9, 30, 0), DateTimeKind.Utc);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
newDate, newDate.Kind);
// Round-trip time in an unspecified time zone.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 13, 12, 30, 0), DateTimeKind.Unspecified);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
newDate, newDate.Kind);
// Round-trip a DateTimeOffset value.
DateTimeOffset originalDTO = new DateTimeOffset(2008, 4, 12, 9, 30, 0, new TimeSpan(-8, 0, 0));
dateString = originalDTO.ToString("o");
DateTimeOffset newDTO = DateTimeOffset.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO);
// The example displays the following output:
// Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
// Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
// Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
// Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
Zpět na tabulku
Specifikátor formátu RFC1123 R, r
Standardní specifikátor formátu R nebo r reprezentuje vlastní formátovací řetězec data a času, který je definován vlastností DateTimeFormatInfo.RFC1123Pattern. Vzorek odráží definovaný standard a vlastnost je jen pro čtení. Proto je vždy stejný, bez ohledu na použitou jazykovou verzi, nebo dodaného poskytovatele formátu. Vlastní formátovací řetězec je ddd, dd MMM yyyy HH':'mm':'ss 'GMT'. Formátovací nebo analyzující operace používá vždy invariantní jazykovou verzi při použití tohoto standardního specifikátoru formátu.
Výsledný řetězec je ovlivněn následujícíci vlastnostmi objektu DateTimeFormatInfo, který je vrácený vlastností DateTimeFormatInfo.InvariantInfo, která představuje invariantní jazykovou verzi.
Vlastnost |
Popis |
---|---|
Definuje formát výsledného řetězce. |
|
Definuje zkrácené názvy dne, které se mohou objevit ve výsledném řetězci. |
|
Definuje zkrácené názvy měsíce, které se mohou objevit ve výsledném řetězci. |
Ačkoli standard RFC 1123 vyjadřuje čas jako koordinovaný světový čas (UTC), formátovací operace nezmění hodnotu objektu DateTime nebo DateTimeOffset, který je právě formátován. Proto musí aplikace převést hodnotu data a času na čas UTC před provedením formátovací operace. Chcete-li provést tento převod, hodnoty DateTime mohou volat metodu DateTime.ToUniversalTime, a hodnoty DateTimeOffset mohou volat metodu ToUniversalTime.
Následující příklad používá specifikátor formátu r pro zobrazení hodnoty DateTime a DateTimeOffset v systému v tichomořském časovém pásmu.
Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Zpět na tabulku
Seřaditelný specifikátor formátu s.
Standardní specifikátor formátu s reprezentuje vlastní formátovací řetězec data a času, který je definován vlastností DateTimeFormatInfo.SortableDateTimePattern. Vzorek odráží definovaný standard ISO 8601 a vlastnost je jen pro čtení. Proto je vždy stejný, bez ohledu na použitou jazykovou verzi, nebo dodaného poskytovatele formátu. Vlastní formátovací řetězec je yyyy'-'MM'-'dd'T'HH':'mm':'ss.
Formátovací, nebo analyzující operace používá vždy invariantní jazykovou verzi při použití tohoto standardního specifikátoru formátu.
Následující příklad používá specifikátor formátu s pro zobrazení hodnoty DateTime a DateTimeOffset v systému v tichomořském časovém pásmu.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("s"))
' Displays 2008-04-10T06:30:00
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("s"));
// Displays 2008-04-10T06:30:00
Zpět na tabulku
Specifikátor formátu krátkého času t
Standardní specifikátor formátu t reprezentuje vlastní formátovací řetězec data a času, který je definován aktuální vlastností DateTimeFormatInfo.ShortTimePattern. Například vlastní formátovací řetězec pro invariantní jazykovou verzi je HH:mm.
Na výsledný řetězec má vliv informace o formátování specifického objektu DateTimeFormatInfo. V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou řídit formátování vráceného řetězce. Specifikátor vlastní formát, který vrátil DateTimeFormatInfo.ShortTimePattern Vlastnost některých kultur zhotovit použít všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje formát komponenty času výsledného řetězce. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Následující příklad používá specifikátor formátu t k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("t", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30 AM
Console.WriteLine(date1.ToString("t", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("t",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30 AM
Console.WriteLine(date1.ToString("t",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30
Zpět na tabulku
Specifikátor formátu dlouhého času T
Standardní specifikátor formátu T reprezentuje vlastní formátovací řetězec data a času, který je definován určitou vlastností DateTimeFormatInfo.LongTimePattern jazykové verze. Například vlastní formátovací řetězec pro invariantní jazykovou verzi je HH:mm:ss.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou řídit formátování vráceného řetězce. Specifikátor vlastní formát, který vrátil DateTimeFormatInfo.LongTimePattern Vlastnost některých kultur zhotovit použít všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje formát komponenty času výsledného řetězce. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Následující příklad používá specifikátor formátu T k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("T", _
CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30:00
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("T",
CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30:00
Zpět na tabulku
Univerzální seřaditelný specifikátor formátu u
Standardní specifikátor formátu u reprezentuje vlastní formátovací řetězec data a času, který je definován vlastností DateTimeFormatInfo.UniversalSortableDateTimePattern. Vzorek odráží definovaný standard a vlastnost je jen pro čtení. Proto je vždy stejný, bez ohledu na použitou jazykovou verzi, nebo dodaného poskytovatele formátu. Vlastní formátovací řetězec je yyyy'-'MM'-'dd HH':'mm':'ss'Z'. Formátovací, nebo analyzující operace používá vždy invariantní jazykovou verzi při použití tohoto standardního specifikátoru formátu.
Ačkoli výsledný řetězec by měl vyjadřovat čas jako koordinovaný světový čas (UTC), není proveden žádný převod původní hodnoty DateTime nebo DateTimeOffset během operace formátování. Proto musí aplikace převést hodnotu data a času na čas UTC před jejím formátováním. Chcete-li provést tento převod, hodnoty DateTime mohou volat metodu DateTime.ToUniversalTime a hodnoty DateTimeOffset mohou volat metodu ToUniversalTime.
Následující příklad používá specifikátor formátu u k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToUniversalTime.ToString("u"))
' Displays 2008-04-10 13:30:00Z
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
Zpět na tabulku
Univerzální plný specifikátor formátu U
Standardní specifikátor formátu U reprezentuje vlastní formátovací řetězec data a času, který je definován určenou vlastností DateTimeFormatInfo.FullDateTimePattern jazykové verze. Vzorek je stejný jako vzorek F. Hodnota DateTime je však automaticky převedena na čas UTC dříve, než je naformátována.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které mohou řídit formátování vráceného řetězce. Specifikátor vlastní formát, který vrátil FullDateTimePattern Vlastnost některých kultur zhotovit použít všechny vlastnosti.
Vlastnost |
Popis |
---|---|
Definuje celkový formát výsledného řetězce. |
|
Definuje lokalizované názvy dne, které se mohou objevit ve výsledném řetězci. |
|
Definuje lokalizované názvy měsíce, které se mohou objevit ve výsledném řetězci. |
|
Definuje řetězec, který odděluje komponenty data hodiny, minuty a sekundy. |
|
Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12-ti hodinovém formátu. |
|
Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12-ti hodinovém formátu. |
Specifikátor formátu U není podporován typem DateTimeOffset a vyvolá FormatException, pokud je použit pro formátování hodnoty DateTimeOffset.
Následující příklad používá specifikátor formátu U k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("sv-FI")))
' Displays den 10 april 2008 13:30:00
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("U",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U",
CultureInfo.CreateSpecificCulture("sv-FI")));
// Displays den 10 april 2008 13:30:00
Zpět na tabulku
Specifikátor formátu roku a měsíce Y, y
Standardní specifikátor formátu Y nebo y reprezentuje vlastní formátovací řetězec data a času, který je definován vlastností DateTimeFormatInfo.YearMonthPattern určité jazykové verze. Například vlastní formátovací řetězec pro invariantní jazykovou verzi je yyyy MMMM.
V následující tabulce jsou uvedeny vlastnosti objektu DateTimeFormatInfo, které řídí formátování vráceného řetězce.
Vlastnost |
Popis |
---|---|
Definuje celkový formát výsledného řetězce. |
|
Definuje lokalizované názvy měsíce, které se mohou objevit ve výsledném řetězci. |
Následující příklad používá specifikátor formátu y k zobrazení hodnoty data a času.
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("Y", CultureInfo.CreateSpecificCulture("en-US")))
' Displays April, 2008
Console.WriteLine(date1.ToString("y", CultureInfo.CreateSpecificCulture("af-ZA")))
' Displays April 2008
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("Y",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays April, 2008
Console.WriteLine(date1.ToString("y",
CultureInfo.CreateSpecificCulture("af-ZA")));
// Displays April 2008
Zpět na tabulku
Poznámky
Nastavení Ovládacích panelů
Nastavení v položce Místní a jazykové nastavení v Ovládacích panelech ovlivní výsledný řetězec vytvořený při operaci formátování. Toto nastavení slouží k inicializaci objektu DateTimeFormatInfo 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 konstruktor CultureInfo.CultureInfo(String) pro vytvoření instance nového objektu CultureInfo představujícího stejnou jazykovou verzi jako je aktuální jazyková verze systému, jakékoli vlastní nastavení z položky Místní a jazykové nastavení v Ovládacích panelech budou použita pro nový objekt CultureInfo. Můžete použít konstruktor CultureInfo.CultureInfo(String, Boolean) pro vytvoření objektu CultureInfo, který nereflektuje vlastní nastavení systému.
Vlastnosti DateTimeFormatInfo
Formátování je ovlivněno vlastnostmi aktuálního objektu DateTimeFormatInfo, který je poskytnut implicitně aktuálí jazykovou verzí vlákna nebo explicitně parametrem IFormatProvider metody, která vyvolá formátování. Pro parametr IFormatProvider by měla vaše aplikace specifikovat objekt CultureInfo, který představuje jazykovou verzi, nebo objekt DateTimeFormatInfo, který představuje určité formátovací konvence data a času jazykové verze. Mnohé standardní specifikátory formátu data a času jsou aliasy pro formátovací vzorky, které jsou definované vlastnostmi aktuálního objektu DateTimeFormatInfo. Vaše aplikace může změnit výsledek, který je produkován standardními specifikátory formátu data a času, a to změnou odpovídajích vzorků formátu data a času odpovídajících vlastnosti DateTimeFormatInfo.
Viz také
Koncepty
Vlastní formátovací řetězce data a času
Historie změn
Datum |
Poslední dokumenty |
Důvod |
---|---|---|
Červenec 2010 |
Byly přidány informace o standardní formát řetězce v analýze operací. |
Názory zákazníků |
Březen 2011 |
Přidat odkaz do formátu nástroje. |
Rozšíření informace |