Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Standardní řetězec formátu data a času používá jeden znak jako specifikátor formátu k definování textové reprezentace DateTime nebo DateTimeOffset hodnoty. Jakýkoli řetězec formátu data a času, který obsahuje více než jeden znak včetně prázdných znaků, se interpretuje jako vlastní řetězec formátu data a času. Řetězec standardního nebo vlastního formátu lze použít 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, které lze převést na DateTime nebo DateTimeOffset hodnotu pomocí operace analýzy.
Doporučení
Můžete si stáhnout nástroj Formatting Utility, aplikace .NET Windows Forms, která umožňuje použít formátovací řetězce na číselné nebo hodnoty data a času a zobrazit výsledný řetězec. Zdrojový kód je k dispozici pro jazyka C# a jazyka Visual Basic.
Poznámka:
Některé příklady jazyka C# v tomto článku běží v Try.NET vloženého spouštěče kódu a dětského hřiště. Výběrem tlačítka Spustit spusťte příklad v interaktivním okně. Jakmile kód spustíte, můžete ho upravit a spustit upravený kód tak, že znovu vyberete Spustit. Upravený kód se buď spustí v interaktivním okně, nebo pokud kompilace selže, zobrazí se v interaktivním okně všechny chybové zprávy kompilátoru jazyka C#.
místní časové pásmoTry.NET inline code runner a playground je koordinovaný univerzální čas (UTC). To může ovlivnit chování a výstup příkladů, které ilustrují DateTime, DateTimeOffseta TimeZoneInfo typy 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 formátu data a času vytvoří identické řetězcové vyjádření bez ohledu na to, zda se používá s DateTime nebo hodnotou DateTimeOffset. Další informace o použití standardních řetězců formátu data a času najdete v tématu Nastavení ovládacích panelů a vlastnosti DateTimeFormatInfo.
Specifikátor formátu | Popis | Příklady |
---|---|---|
"d" | Vzor krátkého formátu data. Další informace:Specifikátor formátu krátkého data ("d"). |
2009-06-15T13:45:30 -> 6/15/2009 (en-US) 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 formátu dlouhého data ("D"). |
2009-06-15T13:45:30 –> pondělí 15. června 2009 (en-US) 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 formátu full date short time ("f") |
2009-06-15T13:45:30 –> pondělí 15. června 2009 13:45 (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 formátu full date long time ("F") |
2009-06-15T13:45:30 –> pondělí 15. června 2009 13:45:30 (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 formátu obecný krátký čas data ("g"). |
2009-06-15T13:45:30 -> 15.6.2009 13:45 (en-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 dlouhého času ("G"). |
2009-06-15T13:45:30 -> 15.6.2009 13:45:30 (en-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 –> 15. června (en-US) 2009-06-15T13:45:30 -> 15. juni (da-DK) 2009-06-15T13:45:30 -> 15 Juni (id-ID) |
"O", "o" | vzor data a času odezvy. 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.000000Z 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.0000000-07:00 |
"R", "r" | Vzor RFC1123. Další informace: Specifikátor formátu RFC1123 ("R", "r") |
DateTimeOffset vstup: 2009-06-15T13:45:30 -> Po, 15. června 2009 20:45:30 GMT DateTime vstup: 2009-06-15T13:45:30 -> Po, 15. června 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 formátu krátkého času ("t"). |
2009-06-15T13:45:30 -> 13:45 (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 formátu dlouhého času ("T"). |
2009-06-15T13:45:30 -> 1: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"). |
S hodnotou DateTime: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z S hodnotou DateTimeOffset: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z |
"U" | Vzor univerzálního úplného data a času Další informace: Specifikátor univerzálního úplného formátu ("U"). |
2009-06-15T13:45:30 -> pondělí, 15. června 2009 8:45:30 (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 (en-US) 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á FormatExceptionza běhu . |
Jak fungují standardní formátovací řetězce
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
Můžete předat objekt CultureInfo představující jazykovou verzi, jejíž formátování se má použít pro metodu, 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 DateTimeFormatInfo, který poskytuje informace o formátování 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žitých při formátování hodnot data a času najdete v tématu NumberFormatInfo 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 | Definováno dateTimeFormatInfo.InvariantInfo vlastnost | Ř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 parsování operací s metodami DateTime.ParseExact nebo DateTimeOffset.ParseExact, které vyžadují, aby vstupní řetězec přesně odpovídal určitému vzoru, aby operace analýzy byla úspěšná. Mnoho standardních řetězců formátu se mapuje na více řetězců vlastního formátu, takže hodnotu data a času lze reprezentovat v různých formátech a operace analýzy bude stále úspěšná. Řetězec vlastního formátu nebo řetězce, které odpovídají standardnímu formátovacímu řetězci, můžete určit voláním metody DateTimeFormatInfo.GetAllDateTimePatterns(Char). Následující příklad zobrazí řetězce vlastního formátu, které se mapují na řetězec standardního formátu "d" (vzor krátkého 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($" {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 a DateTimeOffset hodnoty.
Formáty kalendářních dat
Tato skupina obsahuje následující formáty:
Specifikátor formátu krátkého data ("d")
Specifikátor standardního formátu "d" představuje vlastní řetězec formátu data a času definovaný vlastností DateTimeFormatInfo.ShortDatePattern konkrétní jazykové verze. Například řetězec vlastního formátu vrácený vlastností ShortDatePattern invariantní jazykové verze je "MM/dd/rrrr".
Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které řídí formátování vráceného řetězce.
Vlastnictví | Popis |
---|---|
ShortDatePattern | Definuje celkový formát výsledného řetězce. |
DateSeparator | Definuje řetězec, který odděluje součásti roku, měsíce a dne data. |
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 formátu dlouhého 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í vlastností DateTimeFormatInfo.LongDatePattern. 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 DateTimeFormatInfo objektu, který řídí formátování vráceného řetězce.
Vlastnictví | Popis |
---|---|
LongDatePattern | Definuje celkový formát výsledného řetězce. |
DayNames | Definuje lokalizované názvy dnů, které se můžou zobrazit ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které se můžou zobrazit 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 obsahuje následující formáty:
- Specifikátor formátu full date short time ("f")
- Specifikátor formátu full date long time ("F")
- Specifikátor obecného formátu data short time ("g")
- Specifikátor obecného formátu data long time ("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 formátu full date short time ("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 formátováním informací konkrétního objektu DateTimeFormatInfo. Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený DateTimeFormatInfo.LongDatePattern a DateTimeFormatInfo.ShortTimePattern vlastnostmi některých jazykových verzí nemusí využívat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
LongDatePattern | Definuje formát komponenty data výsledného řetězce. |
ShortTimePattern | Definuje formát časové komponenty výsledného řetězce. |
DayNames | Definuje lokalizované názvy dnů, které se můžou zobrazit ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které se můžou zobrazit ve výsledném řetězci. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do 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 formátu full date long time ("F")
Specifikátor standardního formátu "F" představuje vlastní řetězec formátu data a času definovaný aktuální vlastností DateTimeFormatInfo.FullDateTimePattern. 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í DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený vlastností FullDateTimePattern některých jazykových verzí nemusí používat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
FullDateTimePattern | Definuje celkový formát výsledného řetězce. |
DayNames | Definuje lokalizované názvy dnů, které se můžou zobrazit ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které se můžou zobrazit ve výsledném řetězci. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do 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 short time ("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 formátováním informací konkrétního objektu DateTimeFormatInfo. Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený DateTimeFormatInfo.ShortDatePattern a DateTimeFormatInfo.ShortTimePattern vlastnostmi některých jazykových verzí nemusí využívat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
ShortDatePattern | Definuje formát komponenty data výsledného řetězce. |
ShortTimePattern | Definuje formát časové komponenty výsledného řetězce. |
DateSeparator | Definuje řetězec, který odděluje součásti roku, měsíce a dne data. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do 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 long time ("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 formátováním informací konkrétního objektu DateTimeFormatInfo. Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený DateTimeFormatInfo.ShortDatePattern a DateTimeFormatInfo.LongTimePattern vlastnostmi některých jazykových verzí nemusí využívat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
ShortDatePattern | Definuje formát komponenty data výsledného řetězce. |
LongTimePattern | Definuje formát časové komponenty výsledného řetězce. |
DateSeparator | Definuje řetězec, který odděluje součásti roku, měsíce a dne data. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do 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 vygeneruje výsledný řetězec, který odpovídá normě ISO 8601. Pro DateTime hodnoty 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 lze analyzovat zpět pomocí DateTime.Parse(String, IFormatProvider, DateTimeStyles) nebo DateTime.ParseExact metoda, pokud je parametr styles
nastaven na DateTimeStyles.RoundtripKind.
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 "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.' fffffffzzz" řetězec vlastního formátu pro hodnoty DateTimeOffset. V tomto řetězci dvojice jednoduchých uvozovek, které odděluje jednotlivé znaky, jako jsou spojovníky, dvojtečky a písmeno "T", označují, že jednotlivé znaky jsou literál, který nelze změnit. Apostrofy se ve výstupním řetězci nezobrazí.
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, aby zachovala Kind vlastnost DateTime hodnot:
Součást časového pásma DateTimeKind.Local 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.
Komponenta časového pásma DateTimeKind.Utc hodnot data a času používá k reprezentaci UTC "Z" (což znamená nulový posun).
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 předané Parse
, TryParse
, ParseExact
a TryParseExact
metody DateTime a DateTimeOffset 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 mělo přetížení analýzy, které voláte, obsahovat také parametr styles
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", nedostanete stejné výsledky jako "O" nebo "o". Je to proto, že parsování metod, které používají řetězec vlastního formátu, nemůže analyzovat řetězcové vyjádření hodnot data a času, které nemají součást časového pásma, nebo 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 hodnoty DateTimeOffset v systému v americkém časovém pásmu.
using System;
public class Example
{
public static void Main()
{
DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Unspecified);
Console.WriteLine($"{dat} ({dat.Kind}) --> {dat:O}");
DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Utc);
Console.WriteLine($"{uDat} ({uDat.Kind}) --> {uDat:O}");
DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
DateTimeKind.Local);
Console.WriteLine($"{lDat} ({lDat.Kind}) --> {lDat:O}\n");
DateTimeOffset dto = new DateTimeOffset(lDat);
Console.WriteLine($"{dto} --> {dto:O}");
}
}
// 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 potom obnoví původní hodnotu data a času voláním data a času Parse
metoda.
// 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 {originalDate} {originalDate.Kind} to {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 {originalDate} {originalDate.Kind} to {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 {originalDate} {originalDate.Kind} to {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 {originalDTO} to {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")
Specifikátor standardního formátu "R" nebo "r" představuje vlastní řetězec formátu data a času definovaný vlastností DateTimeFormatInfo.RFC1123Pattern. 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 DateTimeFormatInfo objektu vráceného DateTimeFormatInfo.InvariantInfo vlastnost, která představuje invariantní jazykovou verzi.
Vlastnictví | Popis |
---|---|
RFC1123Pattern | Definuje formát výsledného řetězce. |
AbbreviatedDayNames | Definuje zkrácené názvy dnů, které se můžou zobrazit ve výsledném řetězci. |
AbbreviatedMonthNames | Definuje zkrácené názvy měsíců, které se můžou zobrazit ve výsledném řetězci. |
Přestože standard RFC 1123 vyjadřuje čas jako koordinovaný univerzální čas (UTC), operace formátování neupravuje hodnotu objektu DateTime, který je formátován. Proto je nutné před provedením operace formátování převést hodnotu DateTime na UTC voláním metody DateTime.ToUniversalTime. Naproti tomu DateTimeOffset hodnoty provádějí tento převod automaticky; Před operací formátování není nutné volat metodu DateTimeOffset.ToUniversalTime.
Následující příklad používá specifikátor formátu "r" k zobrazení DateTime a DateTimeOffset hodnoty v systému v americkém časovém pásmu 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 definovaný vlastností DateTimeFormatInfo.SortableDateTimePattern. Vzor 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. Ř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ě vzestupně nebo sestupně podle hodnot data a času. Vzhledem k tomu, že specifikátor standardního formátu "s" představuje hodnotu data a času v konzistentním formátu, operace formátování neupravuje hodnotu objektu data a času, který je formátován tak, aby odrážel jeho DateTime.Kind vlastnost nebo jeho DateTimeOffset.Offset hodnotu. Výsledné řetězce vytvořené například formátováním hodnot data a času 2014-11-15T18:32:17+00:00 a 2014-11-15T18:32:17+08:00 jsou stejné.
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 a DateTimeOffset hodnoty v systému v americké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 univerzálního formátu řazení ("u")
Specifikátor standardního formátu "u" představuje vlastní řetězec formátu data a času definovaný vlastností DateTimeFormatInfo.UniversalSortableDateTimePattern. 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 měl výsledný řetězec vyjádřit čas jako koordinovaný univerzální čas (UTC), během operace formátování se neprovádí žádný převod původní hodnoty DateTime. Proto je nutné před formátováním převést hodnotu DateTime na UTC voláním metody DateTime.ToUniversalTime. Naproti tomu DateTimeOffset hodnoty provádějí tento převod automaticky; před operací formátování není nutné volat metodu DateTimeOffset.ToUniversalTime.
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 definovaný vlastností DateTimeFormatInfo.FullDateTimePattern zadané jazykové verze. Vzor je stejný jako vzor "F". Hodnota DateTime se ale před formátováním automaticky převede na UTC.
Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený vlastností FullDateTimePattern některých jazykových verzí nemusí používat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
FullDateTimePattern | Definuje celkový formát výsledného řetězce. |
DayNames | Definuje lokalizované názvy dnů, které se můžou zobrazit ve výsledném řetězci. |
MonthNames | Definuje lokalizované názvy měsíců, které se můžou zobrazit ve výsledném řetězci. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do před půlnocí ve 12hodinovém formátu. |
Specifikátor formátu "U" není podporován typem DateTimeOffset a vyvolá FormatException, pokud se používá k formátování hodnoty DateTimeOffset.
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 obsahuje následující formáty:
Specifikátor krátkého formátu ("t")
Specifikátor standardního formátu "t" představuje vlastní řetězec formátu data a času definovaný aktuální vlastností DateTimeFormatInfo.ShortTimePattern. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "HH:mm".
Výsledný řetězec je ovlivněn formátováním informací konkrétního objektu DateTimeFormatInfo. Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený vlastností DateTimeFormatInfo.ShortTimePattern některých jazykových verzí nemusí používat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
ShortTimePattern | Definuje formát časové komponenty výsledného řetězce. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do 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 dlouhého času ("T")
Specifikátor standardního formátu "T" představuje vlastní řetězec formátu data a času definovaný DateTimeFormatInfo.LongTimePattern vlastností konkrétní jazykové verze. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "HH:mm:ss".
Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které mohou řídit formátování vráceného řetězce. Specifikátor vlastního formátu vrácený vlastností DateTimeFormatInfo.LongTimePattern některých jazykových verzí nemusí používat všechny vlastnosti.
Vlastnictví | Popis |
---|---|
LongTimePattern | Definuje formát časové komponenty výsledného řetězce. |
TimeSeparator | Definuje řetězec, který odděluje hodiny, minuty a druhé součásti času. |
AMDesignator | Definuje řetězec, který označuje časy od půlnoci do poledne ve 12hodinovém formátu. |
PMDesignator | Definuje řetězec, který označuje časy od poledne do 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 obsahuje 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í vlastností DateTimeFormatInfo.MonthDayPattern. Například řetězec vlastního formátu pro neutrální jazykovou verzi je "MMMM dd".
Následující tabulka uvádí DateTimeFormatInfo vlastnosti objektu, které řídí formátování vráceného řetězce.
Vlastnictví | Popis |
---|---|
MonthDayPattern | Definuje celkový formát výsledného řetězce. |
MonthNames | Definuje lokalizované názvy měsíců, které se můžou zobrazit 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 roku ("Y", "y")
Specifikátor standardního formátu "Y" nebo "y" představuje vlastní řetězec formátu data a času definovaný vlastností DateTimeFormatInfo.YearMonthPattern 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í DateTimeFormatInfo vlastnosti objektu, které řídí formátování vráceného řetězce.
Vlastnictví | Popis |
---|---|
YearMonthPattern | Definuje celkový formát výsledného řetězce. |
MonthNames | Definuje lokalizované názvy měsíců, které se můžou zobrazit 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ích panelů
V systému Windows ovlivňují nastavení v místní a jazykové možnosti položku v Ovládacích panelech výsledný řetězec vytvořený operací formátování. Tato nastavení slouží k inicializaci objektu DateTimeFormatInfo přidruženého k aktuální jazykové verzi, která poskytuje hodnoty používané k řízení formátování. Počítače, které používají různá nastavení, generují různé výsledné řetězce.
Kromě toho pokud použijete konstruktor CultureInfo(String) k vytvoření instance nového CultureInfo objektu, který představuje stejnou jazykovou verzi jako aktuální systémová jazyková verze, veškeré vlastní nastavení vytvořené místní a jazykové možnosti položku v Ovládacích panelech se použijí na nový objekt CultureInfo. Konstruktor CultureInfo(String, Boolean) můžete použít k vytvoření objektu CultureInfo, který neodráží vlastní nastavení systému.
Vlastnosti DateTimeFormatInfo
Formátování je ovlivněno vlastnostmi aktuálního DateTimeFormatInfo objektu, který je implicitně poskytován aktuální jazykovou verzí nebo explicitně parametrem IFormatProvider metody, která vyvolá formátování. U parametru IFormatProvider by aplikace měla zadat objekt CultureInfo, který představuje jazykovou verzi, nebo objekt DateTimeFormatInfo, 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 formátování vzorů definovaných vlastnostmi aktuálního objektu DateTimeFormatInfo. 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ích vlastností DateTimeFormatInfo.
Viz také
- System.DateTime
- System.DateTimeOffset
- typy formátování
- Řetězce vlastního formátu data a času
- Ukázka : rozhraní .NET Core WinForms (C#)
- ukázka : .NET Core WinForms Formatting Utility (Visual Basic)