Standardní řetězce formátu data a času
Řetězec standardního formátu data a času používá jeden znak jako specifikátor formátu k definování textové reprezentace DateTime hodnoty nebo DateTimeOffset . Jakýkoli řetězec formátu data a času, který obsahuje více než jeden znak, včetně prázdných znaků, je interpretován jako vlastní řetězec formátu data a času. Řetězec standardního nebo vlastního formátu lze používat dvěma způsoby:
Chcete-li definovat řetězec, který je výsledkem operace formátování.
Chcete-li definovat textové vyjádření hodnoty data a času, kterou lze převést na DateTime hodnotu nebo DateTimeOffset pomocí operace analýzy.
Tip
Můžete si stáhnout formátovací nástroj, aplikaci .NET model Windows Forms, která umožňuje použít formátovací řetězce na číselné hodnoty nebo hodnoty data a času a zobrazit výsledný řetězec. Zdrojový kód je k dispozici pro C# a Visual Basic.
Poznámka
Některé z příkladů jazyka C# v tomto článku se spouští v Try.NET vložené runner kódu a playground. Výběrem tlačítka Spustit spusťte příklad v interaktivním okně. Jakmile spustíte kód, můžete ho upravit a spustit upravený kód tak, že znovu vyberete Spustit . Upravený kód se buď spustí v interaktivním okně, nebo pokud kompilace selže, zobrazí se v interaktivním okně všechny chybové zprávy kompilátoru jazyka C#.
Místní časové pásmoTry.NET vloženého běžce kódu a hřiště je koordinovaný univerzální čas (UTC). To může ovlivnit chování a výstup příkladů, které ilustrují DateTimetypy , DateTimeOffseta TimeZoneInfo a jejich členy.
Tabulka specifikátorů formátu
Následující tabulka popisuje standardní specifikátory formátu data a času. Pokud není uvedeno jinak, konkrétní specifikátor standardního formátu data a času vytvoří identickou řetězcovou reprezentaci bez ohledu na to, zda se používá s DateTime hodnotou nebo DateTimeOffset . Další informace o použití řetězců standardního formátu data a času najdete v tématu nastavení Ovládací panely a vlastnosti DateTimeFormatInfo.
Specifikátor formátu | Popis | Příklady |
---|---|---|
"d" | Vzor krátkého formátu data. Další informace:Specifikátor krátkého formátu data ("d"). |
2009-06-15T13:45:30 -> 6/15/2009 (cs) 2009-06-15T13:45:30 -> 15/06/2009 (fr-FR) 2009-06-15T13:45:30 -> 2009/06/15 (ja-JP) |
"D" | Vzor dlouhého formátu data. Další informace:Specifikátor dlouhého formátu data ("D"). |
2009-06-15T13:45:30 -> Pondělí, Červen 15, 2009 (cs) 2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г. (ru-RU) 2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE) |
"f" | Vzor úplného formátu data/času (krátkého formátu času). Další informace: Specifikátor úplného krátkého formátu data ("f"). |
2009-06-15T13:45:30 -> Pondělí, 15 Červen 2009 13:45 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45 μ (el-GR) |
"F" | Vzor úplného formátu data/času (dlouhého formátu času). Další informace: Specifikátor úplného formátu data a dlouhého času (F). |
2009-06-15T13:45:30 -> Monday, June 15, 2009 13:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μ (el-GR) |
"g" | Vzor obecného formátu data/času (krátkého formátu času). Další informace: Specifikátor obecného formátu data a krátkého času ("g"). |
2009-06-15T13:45:30 -> 6/15/2009 1:45 PM (cs-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45 (zh-CN) |
"G" | Vzor obecného formátu data a času (dlouhého formátu času). Další informace: Specifikátor obecného formátu data a dlouhého času (G). |
2009-06-15T13:45:30 -> 6/15/2009 13:45:30 PM (cs-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45:30 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45:30 (zh-CN) |
"M", "m" | Vzor formátu měsíce/dne. Další informace: Specifikátor formátu měsíce ("M", "m"). |
2009-06-15T13:45:30 -> June 15 (en-US) 2009-06-15T13:45:30 -> 15. juni (da-DK) 2009-06-15T13:45:30 -> 15 Juni (id-ID) |
"O", "o" | vzor pro datum/čas doby jízdy. Další informace: Specifikátor formátu odezvy ("O", "o") |
DateTime Hodnoty: 2009-06-15T13:45:30 (DateTimeKind.Local) --> 2009-06-15T13:45:30.0000000-07:00 2009-06-15T13:45:30 (DateTimeKind.Utc) --> 2009-06-15T13:45:30.0000000Z 2009-06-15T13:45:30 (DateTimeKind.Unspecified) --> 2009-06-15T13:45:30.00000000 DateTimeOffset Hodnoty: 2009-06-15T13:45:30-07:00 --> 2009-06-15T13:45:30.000000-07:00 |
"R", "r" | Vzor RFC1123. Další informace: Specifikátor formátu RFC1123 ("R", "r") |
DateTimeOffset vstup: 2009-06-15T13:45:30 -> Mon, 15 Jun 2009 20:45:30 GMT DateTime vstup: 2009-06-15T13:45:30 -> Mon, 15 Jun 2009 13:45:30 GMT |
"s" | Vzor seřaditelného formátu data/času. Další informace: Specifikátor formátu řazení ("s"). |
2009-06-15T13:45:30 (DateTimeKind.Local) -> 2009-06-15T13:45:30 2009-06-15T13:45:30 (DateTimeKind.Utc) -> 2009-06-15T13:45:30 |
"t" | Vzor krátkého formátu času. Další informace: Specifikátor krátkého formátu ("t") |
2009-06-15T13:45:30 -> 13:45 PM (en-US) 2009-06-15T13:45:30 -> 13:45 (hr-HR) 2009-06-15T13:45:30 -> 01:45 م (ar-EG) |
"T" | Vzor dlouhého formátu času. Další informace: Specifikátor dlouhého formátu ("T"). |
2009-06-15T13:45:30 -> 13:45:30 PM (en-US) 2009-06-15T13:45:30 -> 13:45:30 (hr-HR) 2009-06-15T13:45:30 -> 01:45:30 م (ar-EG) |
"u" | Vzor univerzálního seřaditelného formátu data/času. Další informace: Specifikátor univerzálního formátu řazení ("u"). |
DateTime S hodnotou: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z DateTimeOffset S hodnotou: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z |
"U" | Vzor univerzálního úplného formátu data/času. Další informace: Specifikátor univerzálního úplného formátu ("U"). |
2009-06-15T13:45:30 -> Monday, June 15, 2009 20:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μ (el-GR) |
"Y", "y" | Vzor formátu roku a měsíce. Další informace: Specifikátor formátu měsíce roku ("Y"). |
2009-06-15T13:45:30 -> Červen 2009 (cs-CZ) 2009-06-15T13:45:30 -> juni 2009 (da-DK) 2009-06-15T13:45:30 -> Juni 2009 (id-ID) |
Jakýkoli jiný samostatný znak | Neznámý specifikátor. | Vyvolá běhovou dobu FormatException. |
Jak fungují řetězce standardního formátu
V rámci operace formátování je řetězec standardního formátu pouze aliasem pro řetězec vlastního formátu. Výhodou používání aliasu pro odkaz na řetězec vlastního formátu je skutečnost, že ačkoli alias zůstane neutrální, řetězec vlastního formátu se může změnit. Toto je důležité, protože řetězcová reprezentace hodnot data a času se obvykle liší podle jazykové verze. Například řetězec standardního formátu "d" označuje, že hodnota data a času má být zobrazena pomocí vzoru krátkého formátu data. Pro neutrální jazykovou verzi je použit formát "MM/dd/yyyy". Pro jazykovou verzi fr-FR je to formát "dd/MM/yyyy". Pro jazykovou verzi ja-JP je to formát "yyyy/MM/dd".
Pokud je řetězec standardního formátu v rámci operace formátování namapován na řetězec vlastního formátu konkrétní jazykové verze, může vaše aplikace definovat konkrétní jazykovou verzi, jejíž řetězce vlastního formátu se používají jedním z těchto způsobů:
Můžete použít výchozí (nebo aktuální) jazykovou verzi. Následující příklad zobrazí datum pomocí krátkého formátu data aktuální jazykové verze. V tomto případě je aktuální jazyková verze nastavena na en-US.
// 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
' 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
Objekt představující jazykovou CultureInfo verzi, jejíž formátování se má použít, můžete předat metodě, která má IFormatProvider parametr. 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 DateTime thisDate = new DateTime(2008, 3, 15); CultureInfo culture = new CultureInfo("pt-BR"); Console.WriteLine(thisDate.ToString("d", culture)); // Displays 15/3/2008
' 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
Objekt, který poskytuje informace o formátování, můžete předat DateTimeFormatInfo metodě, která má IFormatProvider parametr . Následující příklad zobrazí datum pomocí krátkého formátu data z objektu DateTimeFormatInfo pro jazykovou verzi hr-HR.
// 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
' 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
Poznámka
Informace o přizpůsobení vzorů nebo řetězců používaných při formátování hodnot data a času najdete v NumberFormatInfo tématu třídy.
V některých případech slouží řetězec standardního formátu jako vhodná zkratka pro řetězec vlastního delšího formátu, který je neutrální. Do této kategorie patří čtyři řetězce standardního formátu: "O" (nebo "o"), "R" (nebo "r"), "s" a "u". Tyto řetězce odpovídají řetězcům vlastního formátu, které jsou definovány neutrální jazykovou verzí. Vytvářejí řetězcové reprezentace hodnot data a času, které mají být identické napříč jazykovými verzemi. Následující tabulka obsahuje informace o těchto čtyřech řetězcích standardního formátu data a času.
Řetězec standardního formátu | Definovaný vlastností DateTimeFormatInfo.InvariantInfo | Řetězec vlastního formátu |
---|---|---|
"O" nebo "o" | Žádné | yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' fffffffK |
"R" nebo "r" | RFC1123Pattern | ddd, dd MMM yyyy HH':'mm':'ss 'GMT' |
"s" | SortableDateTimePattern | yyyy'-'MM'-'dd'T'HH':'mm':'ss |
"u" | UniversalSortableDateTimePattern | yyyy'-'MM'-'dd HH':'mm':'ss'Z' |
Standardní formátovací řetězce lze také použít při operacích parsování pomocí DateTime.ParseExact metod nebo DateTimeOffset.ParseExact , které vyžadují, aby vstupní řetězec přesně odpovídal určitému vzoru, aby operace parsování byla úspěšná. Mnoho řetězců standardního formátu je namapováno na několik řetězců vlastního formátu. Hodnotu data a času lze tedy vyjádřit v celé řadě formátů a operace analýzy i tak proběhne úspěšně. Vlastní formátovací řetězec nebo řetězce, které odpovídají řetězci standardního formátu, můžete určit voláním DateTimeFormatInfo.GetAllDateTimePatterns(Char) metody . Následující příklad zobrazí řetězce vlastního formátu, které mapují řetězec standardního formátu "d" (vzor krátkého formátu data).
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
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
Následující části popisují standardní specifikátory formátu pro DateTime hodnoty a DateTimeOffset .
Formáty data
Tato skupina zahrnuje následující formáty:
Specifikátor krátkého formátu data ("d")
Specifikátor standardního formátu "d" představuje vlastní řetězec formátu data a času, který je definován vlastností konkrétní jazykové verze DateTimeFormatInfo.ShortDatePattern . Například řetězec vlastního formátu vrácený ShortDatePattern vlastností invariantní jazykové verze je "MM/dd/yyyy".
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které řídí formátování vráceného řetězce.
Vlastnost | Popis |
---|---|
ShortDatePattern | Definuje celkový formát výsledného řetězce. |
DateSeparator | Definuje řetězec, který u data odděluje komponenty roku, měsíce a dne. |
Následující příklad používá specifikátor formátu "d" k zobrazení hodnoty data a času.
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
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
Specifikátor dlouhého formátu data ("D")
Specifikátor standardního formátu "D" představuje vlastní řetězec formátu data a času, který je definován aktuální DateTimeFormatInfo.LongDatePattern vlastností. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "dddd, dd MMMM yyyy".
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které řídí formátování vráceného řetězce.
Vlastnost | Popis |
---|---|
LongDatePattern | Definuje celkový formát výsledného řetězce. |
DayNames | Definuje lokalizované názvy dní, které mohou být zobrazeny ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
Následující příklad používá specifikátor formátu "D" k zobrazení hodnoty data a času.
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
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
Formáty data a času
Tato skupina zahrnuje následující formáty:
- Specifikátor úplného formátu krátkého času ("f")
- Specifikátor úplného formátu data a dlouhého času ("F")
- Specifikátor obecného formátu data a krátkého času ("g")
- Specifikátor obecného formátu data a dlouhého času (G)
- Specifikátor formátu odezvy ("O", "o")
- Specifikátor formátu RFC1123 ("R", "r")
- Specifikátor formátu řazení ("s")
- Specifikátor univerzálního formátu řazení ("u")
- Specifikátor univerzálního úplného formátu ("U")
Specifikátor úplného formátu krátkého času ("f")
Standardní specifikátor formátu "f" představuje kombinaci vzorů dlouhého formátu data "D" a krátkého formátu času "t", která je oddělena mezerou.
Výsledný řetězec je ovlivněn informacemi o formátování konkrétního DateTimeFormatInfo objektu. Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený vlastnostmi DateTimeFormatInfo.LongDatePattern a DateTimeFormatInfo.ShortTimePattern některých jazykových verzí nemusí využívat všechny vlastnosti.
Vlastnost | Popis |
---|---|
LongDatePattern | Definuje formát komponenty data výsledného řetězce. |
ShortTimePattern | Definuje formát komponenty času výsledného řetězce. |
DayNames | Definuje lokalizované názvy dní, které mohou být zobrazeny ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Následující příklad používá specifikátor formátu "f" k zobrazení hodnoty data a času.
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
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
Specifikátor úplného formátu data a dlouhého času ("F")
Specifikátor standardního formátu "F" představuje vlastní řetězec formátu data a času, který je definován aktuální DateTimeFormatInfo.FullDateTimePattern vlastností. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "dddd, dd MMMM yyyy HH:mm:ss".
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu, který je vrácen FullDateTimePattern vlastností některých jazykových verzí, nemusí používat všechny vlastnosti.
Vlastnost | Popis |
---|---|
FullDateTimePattern | Definuje celkový formát výsledného řetězce. |
DayNames | Definuje lokalizované názvy dní, které mohou být zobrazeny ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Následující příklad používá specifikátor formátu "F" k zobrazení hodnoty data a času.
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
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
Specifikátor obecného formátu data a krátkého času ("g")
Standardní specifikátor formátu "g" představuje kombinaci vzorů krátkého formátu data "d" a krátkého formátu času "t", která je oddělena mezerou.
Výsledný řetězec je ovlivněn informacemi o formátování konkrétního DateTimeFormatInfo objektu. Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu, který je vrácen vlastnostmi DateTimeFormatInfo.ShortDatePattern a DateTimeFormatInfo.ShortTimePattern některých jazykových verzí, nemusí používat všechny vlastnosti.
Vlastnost | Popis |
---|---|
ShortDatePattern | Definuje formát komponenty data výsledného řetězce. |
ShortTimePattern | Definuje formát komponenty času výsledného řetězce. |
DateSeparator | Definuje řetězec, který u data odděluje komponenty roku, měsíce a dne. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Následující příklad používá specifikátor formátu "g" k zobrazení hodnoty data a času.
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
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
Specifikátor obecného formátu data a dlouhého času (G)
Standardní specifikátor formátu "G" představuje kombinaci vzorů krátkého formátu data "d" a dlouhého formátu času "T", která je oddělena mezerou.
Výsledný řetězec je ovlivněn informacemi o formátování konkrétního DateTimeFormatInfo objektu. Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu, který je vrácen vlastnostmi DateTimeFormatInfo.ShortDatePattern a DateTimeFormatInfo.LongTimePattern některých jazykových verzí, nemusí používat všechny vlastnosti.
Vlastnost | Popis |
---|---|
ShortDatePattern | Definuje formát komponenty data výsledného řetězce. |
LongTimePattern | Definuje formát komponenty času výsledného řetězce. |
DateSeparator | Definuje řetězec, který u data odděluje komponenty roku, měsíce a dne. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Následující příklad používá specifikátor formátu "G" k zobrazení hodnoty data a času.
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
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
Specifikátor formátu odezvy ("O", "o")
Specifikátor standardního formátu "O" nebo "o" představuje vlastní řetězec formátu data a času pomocí vzoru, který zachovává informace o časovém pásmu a generuje výsledný řetězec, který je v souladu s normou ISO 8601. U DateTime hodnot je tento specifikátor formátu navržený tak, aby zachoval hodnoty data a času spolu s DateTime.Kind vlastností v textu. Formátovaný řetězec je možné analyzovat zpět pomocí DateTime.Parse(String, IFormatProvider, DateTimeStyles) metody nebo DateTime.ParseExact , pokud styles
je parametr nastavený na DateTimeStyles.RoundtripKindhodnotu .
Specifikátor standardního formátu "O" nebo "o" odpovídá "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' fffffffK" vlastní formátovací řetězec pro DateTime hodnoty a na "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' fffffffzzz" řetězec vlastního formátu pro DateTimeOffset hodnoty. Dvojice jednoduchých uvozovek v tomto řetězci oddělující jednotlivé znaky, jako jsou například spojovníky, dvojtečky a písmeno "T", označují, že jednotlivé znaky jsou literály, které nelze změnit. Apostrofy se ve výstupním řetězci nezobrazují.
Specifikátor standardního formátu "O" nebo "o" (a "yyyy'-'MM'-'dd'T'HH':'mm':'ss'. fffffffK" řetězec vlastního formátu) využívá tři způsoby, jak ISO 8601 představuje informace o časovém pásmu pro zachování Kind vlastnosti DateTime hodnot:
Součástí DateTimeKind.Local časového pásma hodnot data a času je posun od času UTC (například +01:00, -07:00). Všechny DateTimeOffset hodnoty jsou také reprezentovány v tomto formátu.
Složka časového pásma v hodnotách DateTimeKind.Utc data a času používá "Z" (což je nulový posun) k vyjádření ČASU (UTC).
DateTimeKind.Unspecified Hodnoty data a času neobsahují žádné informace o časovém pásmu.
Vzhledem k tomu, že specifikátor standardního formátu "O" nebo "o" odpovídá mezinárodnímu standardu, operace formátování nebo analýzy, která používá specifikátor, vždy používá neutrální jazykovou verzi a gregoriánský kalendář.
Řetězce, které jsou předány Parse
metodám DateTime , ParseExact
TryParse
, a TryParseExact
pro aDateTimeOffset, lze analyzovat pomocí specifikátoru formátu "O" nebo "o", pokud jsou v jednom z těchto formátů. V případě DateTime objektů by přetížení analýzy, které voláte, mělo obsahovat styles
také parametr s hodnotou DateTimeStyles.RoundtripKind. Všimněte si, že pokud zavoláte metodu analýzy s řetězcem vlastního formátu, který odpovídá specifikátoru formátu "O" nebo "o", nezískáte stejné výsledky jako "O" nebo "o". Je to proto, že metody analýzy, které používají řetězec vlastního formátu, nemůžou analyzovat řetězcovou reprezentaci hodnot data a času, které nemají součást časového pásma, ani použít "Z" k označení UTC.
Následující příklad používá specifikátor formátu "o" k zobrazení řady DateTime hodnot a DateTimeOffset hodnoty v systému v časovém pásmu USA a Tichomoří.
using System;
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind);
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind);
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind);
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine("{0} --> {0:O}", dto);
}
}
// The example displays the following output:
// 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
// 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
// 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
//
// 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Module Example
Public Sub Main()
Dim dat As New Date(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified)
Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind)
Dim uDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Utc)
Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind)
Dim lDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Local)
Console.WriteLine("{0} ({1}) --> {0:O}", lDat, lDat.Kind)
Console.WriteLine()
Dim dto As New DateTimeOffset(lDat)
Console.WriteLine("{0} --> {0:O}", dto)
End Sub
End Module
' The example displays the following output:
' 6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
' 6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
' 6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
'
' 6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Následující příklad používá specifikátor formátu "o" k vytvoření formátovaného řetězce a poté obnoví původní hodnotu data a času voláním metody data a času Parse
.
// 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.
' 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.
Specifikátor formátu RFC1123 ("R", "r")
Standardní specifikátor formátu "R" nebo "r" představuje vlastní řetězec formátu data a času, který je definovaný DateTimeFormatInfo.RFC1123Pattern vlastností . Tento vzor odpovídá definovanému standardu a příslušná vlastnost je určena jen pro čtení. Proto je vždy stejný bez ohledu na použitou jazykovou verzi nebo dodaného poskytovatele formátu. Řetězec vlastního formátu je "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'". Při použití tohoto standardního specifikátoru formátu používá operace formátování nebo analýzy vždy neutrální jazykovou verzi.
Výsledný řetězec je ovlivněn následujícími vlastnostmi objektu DateTimeFormatInfo vrácené DateTimeFormatInfo.InvariantInfo vlastností, která představuje invariantní jazykovou verzi.
Vlastnost | Popis |
---|---|
RFC1123Pattern | Definuje formát výsledného řetězce. |
AbbreviatedDayNames | Definuje zkrácené názvy dní, které mohou být zobrazeny ve výsledném řetězci. |
AbbreviatedMonthNames | Definuje zkrácené názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
I když standard RFC 1123 vyjadřuje čas jako utc (Coordinated Universal Time), operace formátování nemění hodnotu objektu DateTime , který je formátován. Proto je nutné převést DateTime hodnotu na UTC voláním DateTime.ToUniversalTime metody před provedením operace formátování. Naproti tomu DateTimeOffset hodnoty provádějí tento převod automaticky. Před operací formátování není nutné volat DateTimeOffset.ToUniversalTime metodu .
Následující příklad používá specifikátor formátu "r" k zobrazení DateTime hodnoty a DateTimeOffset v systému v časovém pásmu USA a Tichomoří.
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
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
Specifikátor formátu řazení ("s")
Specifikátor standardního formátu "s" představuje vlastní řetězec formátu data a času, který je definován DateTimeFormatInfo.SortableDateTimePattern vlastností . Tento vzor odpovídá definovanému standardu (ISO 8601) a příslušná vlastnost je určena jen pro čtení. Proto je vždy stejný bez ohledu na použitou jazykovou verzi nebo dodaného poskytovatele formátu. Řetězec vlastního formátu je "yyyy'-'MM'-'dd'T'HH':'mm':'ss".
Účelem specifikátoru formátu "s" je vytvořit výsledné řetězce, které seřadí konzistentně ve vzestupném nebo sestupném pořadí na základě hodnot data a času. V důsledku toho, i když specifikátor standardního formátu "s" představuje hodnotu data a času v konzistentním formátu, operace formátování nemění hodnotu objektu data a času, který je formátován tak, aby odrážel jeho DateTime.Kind vlastnost nebo hodnotu DateTimeOffset.Offset . Například výsledné řetězce vytvořené formátováním hodnot data a času 2014-11-15T18:32:17+00:00 a 2014-11-15T18:32:17+08:00 jsou identické.
Při použití tohoto standardního specifikátoru formátu používá operace formátování nebo analýzy vždy neutrální jazykovou verzi.
Následující příklad používá specifikátor formátu "s" k zobrazení DateTime hodnoty a DateTimeOffset v systému v americkém tichomořském časovém pásmu.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("s"));
// Displays 2008-04-10T06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("s"))
' Displays 2008-04-10T06:30:00
Specifikátor formátu univerzálního řazení ("u")
Specifikátor standardního formátu "u" představuje vlastní řetězec formátu data a času, který je definován DateTimeFormatInfo.UniversalSortableDateTimePattern vlastností. Tento vzor odpovídá definovanému standardu a příslušná vlastnost je určena jen pro čtení. Proto je vždy stejný bez ohledu na použitou jazykovou verzi nebo dodaného poskytovatele formátu. Řetězec vlastního formátu je "yyyy'-'MM'-'dd HH':'mm':'ss'Z'". Při použití tohoto standardního specifikátoru formátu používá operace formátování nebo analýzy vždy neutrální jazykovou verzi.
I když by výsledný řetězec měl vyjádřit čas jako utc (Coordinated Universal Time), během operace formátování se neprovádí žádný převod původní DateTime hodnoty. Proto je nutné převést DateTime hodnotu na UTC voláním DateTime.ToUniversalTime metody před formátováním. Naproti tomu DateTimeOffset hodnoty provádějí tento převod automaticky; není nutné volat metodu DateTimeOffset.ToUniversalTime před operací formátování.
Následující příklad používá specifikátor formátu "u" k zobrazení hodnoty data a času.
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToUniversalTime.ToString("u"))
' Displays 2008-04-10 13:30:00Z
Specifikátor univerzálního úplného formátu ("U")
Specifikátor standardního formátu "U" představuje vlastní řetězec formátu data a času, který je definován vlastností zadané jazykové verze DateTimeFormatInfo.FullDateTimePattern . Tento vzor je stejný jako vzor "F". DateTime Hodnota se ale před formátováním automaticky převede na UTC.
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu, který je vrácen FullDateTimePattern vlastností některých jazykových verzí, nemusí používat všechny vlastnosti.
Vlastnost | Popis |
---|---|
FullDateTimePattern | Definuje celkový formát výsledného řetězce. |
DayNames | Definuje lokalizované názvy dní, které mohou být zobrazeny ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Specifikátor formátu "U" není podporován typem DateTimeOffset a vyvolá FormatException chybu, pokud se používá k formátování DateTimeOffset hodnoty.
Následující příklad používá specifikátor formátu "U" k zobrazení hodnoty data a času.
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
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
Formáty času
Tato skupina zahrnuje následující formáty:
Specifikátor formátu short time ("t")
Specifikátor standardního formátu "t" představuje vlastní řetězec formátu data a času, který je definován aktuální DateTimeFormatInfo.ShortTimePattern vlastností. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "HH:mm".
Výsledný řetězec je ovlivněn informacemi o formátování konkrétního DateTimeFormatInfo objektu. Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu, který je vrácen DateTimeFormatInfo.ShortTimePattern vlastností některých jazykových verzí, nemusí používat všechny vlastnosti.
Vlastnost | Popis |
---|---|
ShortTimePattern | Definuje formát komponenty času výsledného řetězce. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Následující příklad používá specifikátor formátu "t" k zobrazení hodnoty data a času.
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
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
Specifikátor formátu long time ("T")
Specifikátor standardního formátu "T" představuje vlastní řetězec formátu data a času, který je definován vlastností konkrétní jazykové verze DateTimeFormatInfo.LongTimePattern . Například řetězec vlastního formátu pro neutrální jazykovou verzi je "HH:mm:ss".
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu, který je vrácen DateTimeFormatInfo.LongTimePattern vlastností některých jazykových verzí, nemusí používat všechny vlastnosti.
Vlastnost | Popis |
---|---|
LongTimePattern | Definuje formát komponenty času výsledného řetězce. |
TimeSeparator | Definuje řetězec, který odděluje komponenty hodiny, minuty a sekundy v časovém údaji. |
AMDesignator | Definuje řetězec, který označuje dobu od půlnoci do doby před polednem ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje dobu od poledne do doby před půlnocí ve 12hodinovém formátu. |
Následující příklad používá specifikátor formátu "T" k zobrazení hodnoty data a času.
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
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
Částečné formáty kalendářních dat
Tato skupina zahrnuje následující formáty:
Specifikátor formátu měsíce ("M", "m")
Specifikátor standardního formátu "M" nebo "m" představuje vlastní řetězec formátu data a času, který je definován aktuální DateTimeFormatInfo.MonthDayPattern vlastností. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "MMMM dd".
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které řídí formátování vráceného řetězce.
Vlastnost | Popis |
---|---|
MonthDayPattern | Definuje celkový formát výsledného řetězce. |
MonthNames | Definuje lokalizované názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
Následující příklad používá specifikátor formátu "m" k zobrazení hodnoty data a času.
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
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
Specifikátor formátu year month ("Y", "y")
Specifikátor standardního formátu "Y" nebo "y" představuje vlastní řetězec formátu data a času, který je definován DateTimeFormatInfo.YearMonthPattern vlastností zadané jazykové verze. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "yyyy MMMM".
Následující tabulka uvádí vlastnosti objektu DateTimeFormatInfo , které řídí formátování vráceného řetězce.
Vlastnost | Popis |
---|---|
YearMonthPattern | Definuje celkový formát výsledného řetězce. |
MonthNames | Definuje lokalizované názvy měsíců, které mohou být zobrazeny ve výsledném řetězci. |
Následující příklad používá specifikátor formátu "y" k zobrazení hodnoty data a času.
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
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
nastavení Ovládací panely
Ve Windows nastavení v položce Místní a jazykové možnosti v Ovládací panely ovlivnit výsledný řetězec vytvořený operací formátování. Tato nastavení slouží k inicializaci objektu přidruženého DateTimeFormatInfo k aktuální jazykové verzi, která poskytuje hodnoty používané k řízení formátování. Počítače, které používají různá nastavení, generují různé výsledné řetězce.
Kromě toho, pokud použijete CultureInfo(String) konstruktor k vytvoření instance nového CultureInfo objektu, který představuje stejnou jazykovou verzi jako aktuální systémová jazyková verze, veškeré přizpůsobení vytvořené místní a jazykové možnosti položky v Ovládací panely se použijí na nový CultureInfo objekt. Konstruktor můžete použít CultureInfo(String, Boolean) k vytvoření objektu CultureInfo , který neodráží vlastní nastavení systému.
Vlastnosti DateTimeFormatInfo
Formátování je ovlivněno vlastnostmi aktuálního DateTimeFormatInfo objektu, které jsou implicitně poskytovány aktuální jazykovou verzí nebo explicitně parametrem IFormatProvider metody, která vyvolává formátování. IFormatProvider Jako parametr by aplikace měla zadat CultureInfo objekt, který představuje jazykovou verzi, nebo DateTimeFormatInfo objekt, který představuje konvence formátování data a času konkrétní jazykové verze. Mnoho standardních specifikátorů formátu data a času jsou aliasy pro vzory formátování definované vlastnostmi aktuálního DateTimeFormatInfo objektu. Aplikace může změnit výsledek vytvořený některými standardními specifikátory formátu data a času změnou odpovídajících vzorů formátu data a času odpovídající DateTimeFormatInfo vlastnosti.