DateTime.ToString Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci.
Přetížení
ToString(IFormatProvider) |
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí informací o formátu specifickém pro zadanou jazykovou verzi. |
ToString(String) |
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí zadaného formátu a konvencí formátování aktuální jazykové verze. |
ToString() |
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí konvencí formátování aktuální jazykové verze. |
ToString(String, IFormatProvider) |
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí zadaného formátu a informací o formátu specifickém pro jazykovou verzi. |
ToString(IFormatProvider)
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí informací o formátu specifickém pro zadanou jazykovou verzi.
public:
virtual System::String ^ ToString(IFormatProvider ^ provider);
public:
System::String ^ ToString(IFormatProvider ^ provider);
public string ToString (IFormatProvider provider);
public string ToString (IFormatProvider? provider);
override this.ToString : IFormatProvider -> string
Public Function ToString (provider As IFormatProvider) As String
Parametry
- provider
- IFormatProvider
Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTime objektu určené parametrem provider
.
Implementuje
Výjimky
Datum a čas jsou mimo rozsah kalendářních dat podporovaných kalendářem používaným nástrojem provider
.
Příklady
Následující příklad zobrazuje řetězcovou reprezentaci data a času pomocí CultureInfo objektů, které představují pět různých jazykových verzí.
using System;
using System.Globalization;
public class ToStringExample3
{
public static void Main2()
{
CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
new CultureInfo("en-us"),
new CultureInfo("fr-fr"),
new CultureInfo("de-DE"),
new CultureInfo("es-ES"),
new CultureInfo("ja-JP")};
DateTime thisDate = new DateTime(2009, 5, 1, 9, 0, 0);
foreach (CultureInfo culture in cultures)
{
string cultureName;
if (string.IsNullOrEmpty(culture.Name))
cultureName = culture.NativeName;
else
cultureName = culture.Name;
Console.WriteLine("In {0}, {1}",
cultureName, thisDate.ToString(culture));
}
}
}
// The example produces the following output:
// In Invariant Language (Invariant Country), 05/01/2009 09:00:00
// In en-US, 5/1/2009 9:00:00 AM
// In fr-FR, 01/05/2009 09:00:00
// In de-DE, 01.05.2009 09:00:00
// In es-ES, 01/05/2009 9:00:00
// In ja-JP, 2009/05/01 9:00:00
open System
open System.Globalization
let cultures =
[ CultureInfo.InvariantCulture
CultureInfo "en-us"
CultureInfo "fr-fr"
CultureInfo "de-DE"
CultureInfo "es-ES"
CultureInfo "ja-JP" ]
let thisDate = DateTime(2009, 5, 1, 9, 0, 0)
for culture in cultures do
let cultureName =
if String.IsNullOrEmpty culture.Name then
culture.NativeName
else
culture.Name
printfn $"In {cultureName}, {thisDate.ToString culture}"
// The example produces the following output:
// In Invariant Language (Invariant Country), 05/01/2009 09:00:00
// In en-US, 5/1/2009 9:00:00 AM
// In fr-FR, 01/05/2009 09:00:00
// In de-DE, 01.05.2009 09:00:00
// In es-ES, 01/05/2009 9:00:00
// In ja-JP, 2009/05/01 9:00:00
Imports System.Globalization
Module Example4
Public Sub Main4()
Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture,
New CultureInfo("en-us"),
New CultureInfo("fr-fr"),
New CultureInfo("de-DE"),
New CultureInfo("es-ES"),
New CultureInfo("ja-JP")}
Dim thisDate As Date = #5/1/2009 9:00AM#
For Each culture As CultureInfo In cultures
Dim cultureName As String
If String.IsNullOrEmpty(culture.Name) Then
cultureName = culture.NativeName
Else
cultureName = culture.Name
End If
Console.WriteLine("In {0}, {1}",
cultureName, thisDate.ToString(culture))
Next
End Sub
End Module
' The example produces the following output:
' In Invariant Language (Invariant Country), 05/01/2009 09:00:00
' In en-US, 5/1/2009 9:00:00 AM
' In fr-FR, 01/05/2009 09:00:00
' In de-DE, 01.05.2009 09:00:00
' In es-ES, 01/05/2009 9:00:00
' In ja-JP, 2009/05/01 9:00:00
Poznámky
Hodnota aktuálního DateTime objektu je formátována pomocí obecného specifikátoru formátu data a času ("G"), který formátuje výstup pomocí vzoru krátkého data a dlouhého formátu času.
Formát vzoru krátkého data a dlouhého času je definován parametrem provider
. Parametr provider
může být libovolný z následujících:
Objekt CultureInfo , který představuje jazykovou verzi, jejíž konvence formátování se mají promítnout do vráceného řetězce. Objekt DateTimeFormatInfo vrácený CultureInfo.DateTimeFormat vlastností definuje formátování vráceného řetězce.
Objekt DateTimeFormatInfo , který definuje formát dat data a času.
Vlastní objekt, který implementuje IFormatProvider rozhraní. Jeho GetFormat metoda vrátí DateTimeFormatInfo objekt, který poskytuje informace o formátování.
Pokud provider
je null
, použije se DateTimeFormatInfo objekt přidružený k aktuální jazykové verzi. Další informace naleznete v tématu CultureInfo.CurrentCulture.
Poznámky pro volající
Metoda ToString(IFormatProvider) vrátí řetězcovou reprezentaci data a času v kalendáři, kterou používá jazyková verze reprezentovaná parametrem provider
. Jeho kalendář je definován vlastností Calendar . Pokud je hodnota aktuální DateTime instance dřívější MinSupportedDateTime než nebo novější než MaxSupportedDateTime, metoda vyvolá .ArgumentOutOfRangeException V následujícím příkladu je uvedena ukázka. Pokusí se formátovat datum, které je mimo rozsah JapaneseCalendar třídy .
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo jaJP = new CultureInfo("ja-JP");
jaJP.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTime date1 = new DateTime(1867, 1, 1);
try {
Console.WriteLine(date1.ToString(jaJP));
}
catch (ArgumentOutOfRangeException) {
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",
date1,
jaJP.DateTimeFormat.Calendar.MinSupportedDateTime,
jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime);
}
}
}
// The example displays the following output:
// 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999 }
open System
open System.Globalization
let jaJP = CultureInfo "ja-JP"
jaJP.DateTimeFormat.Calendar <- JapaneseCalendar()
let date1 = DateTime(1867, 1, 1)
try
printfn $"{date1.ToString jaJP}"
with :? ArgumentOutOfRangeException ->
printfn $"{date1:d} is earlier than {jaJP.DateTimeFormat.Calendar.MinSupportedDateTime:d} or later than {jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime:d}"
// The example displays the following output:
// 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999 }
Imports System.Globalization
Module Example
Public Sub Main()
Dim jaJP As New CultureInfo("ja-JP")
jaJP.DateTimeFormat.Calendar = New JapaneseCalendar()
Dim date1 As Date = #01/01/1867#
Try
Console.WriteLine(date1.ToString(jaJP))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
date1, _
jaJP.DateTimeFormat.Calendar.MinSupportedDateTime, _
jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime)
End Try
End Sub
End Module
' The example displays the following output:
' 1/1/1867 is earlier than 9/8/1868 or later than 12/31/9999
Viz také
Platí pro
ToString(String)
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí zadaného formátu a konvencí formátování aktuální jazykové verze.
public:
System::String ^ ToString(System::String ^ format);
public string ToString (string format);
public string ToString (string? format);
override this.ToString : string -> string
Public Function ToString (format As String) As String
Parametry
- format
- String
Standardní nebo vlastní řetězec formátu data a času.
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTime objektu určené parametrem format
.
Výjimky
Délka parametru format
je 1 a nejedná se o jeden ze znaků specifikátoru formátu definovaných pro DateTimeFormatInfo.
-nebo-
format
neobsahuje platný vzor vlastního formátu.
Datum a čas je mimo rozsah dat podporovaných kalendářem, který používá aktuální jazyková verze.
Příklady
Následující příklad používá každý ze standardních řetězců formátu data a času a výběr vlastních řetězců formátu data a času k zobrazení řetězcové DateTime reprezentace hodnoty. Aktuální jazyková verze vlákna v příkladu je en-US.
using System;
public class DateToStringExample2
{
public static void Main()
{
DateTime dateValue = new DateTime(2008, 6, 15, 21, 15, 07);
// Create an array of standard format strings.
string[] standardFmts = {"d", "D", "f", "F", "g", "G", "m", "o",
"R", "s", "t", "T", "u", "U", "y"};
// Output date and time using each standard format string.
foreach (string standardFmt in standardFmts)
Console.WriteLine("{0}: {1}", standardFmt,
dateValue.ToString(standardFmt));
Console.WriteLine();
// Create an array of some custom format strings.
string[] customFmts = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f",
"dd MMM HH:mm:ss", @"\Mon\t\h\: M", "HH:mm:ss.ffffzzz" };
// Output date and time using each custom format string.
foreach (string customFmt in customFmts)
Console.WriteLine("'{0}': {1}", customFmt,
dateValue.ToString(customFmt));
}
}
// This example displays the following output to the console:
// d: 6/15/2008
// D: Sunday, June 15, 2008
// f: Sunday, June 15, 2008 9:15 PM
// F: Sunday, June 15, 2008 9:15:07 PM
// g: 6/15/2008 9:15 PM
// G: 6/15/2008 9:15:07 PM
// m: June 15
// o: 2008-06-15T21:15:07.0000000
// R: Sun, 15 Jun 2008 21:15:07 GMT
// s: 2008-06-15T21:15:07
// t: 9:15 PM
// T: 9:15:07 PM
// u: 2008-06-15 21:15:07Z
// U: Monday, June 16, 2008 4:15:07 AM
// y: June, 2008
//
// 'h:mm:ss.ff t': 9:15:07.00 P
// 'd MMM yyyy': 15 Jun 2008
// 'HH:mm:ss.f': 21:15:07.0
// 'dd MMM HH:mm:ss': 15 Jun 21:15:07
// '\Mon\t\h\: M': Month: 6
// 'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
open System
let dateValue = DateTime(2008, 6, 15, 21, 15, 07)
// Create a list of standard format strings.
let standardFmts =
[ "d"; "D"; "f"; "F"; "g"; "G"; "m"; "o"
"R"; "s"; "t"; "T"; "u"; "U"; "y" ]
// Output date and time using each standard format string.
for standardFmt in standardFmts do
printfn $"{standardFmt}: {dateValue.ToString standardFmt}"
printfn ""
// Create a list of some custom format strings.
let customFmts =
[ "h:mm:ss.ff t"; "d MMM yyyy"; "HH:mm:ss.f"; "dd MMM HH:mm:ss"; @"\Mon\t\h\: M"; "HH:mm:ss.ffffzzz" ]
// Output date and time using each custom format string.
for customFmt in customFmts do
printfn $"'{customFmt}': {dateValue.ToString customFmt}"
// This example displays the following output to the console:
// d: 6/15/2008
// D: Sunday, June 15, 2008
// f: Sunday, June 15, 2008 9:15 PM
// F: Sunday, June 15, 2008 9:15:07 PM
// g: 6/15/2008 9:15 PM
// G: 6/15/2008 9:15:07 PM
// m: June 15
// o: 2008-06-15T21:15:07.0000000
// R: Sun, 15 Jun 2008 21:15:07 GMT
// s: 2008-06-15T21:15:07
// t: 9:15 PM
// T: 9:15:07 PM
// u: 2008-06-15 21:15:07Z
// U: Monday, June 16, 2008 4:15:07 AM
// y: June, 2008
//
// 'h:mm:ss.ff t': 9:15:07.00 P
// 'd MMM yyyy': 15 Jun 2008
// 'HH:mm:ss.f': 21:15:07.0
// 'dd MMM HH:mm:ss': 15 Jun 21:15:07
// '\Mon\t\h\: M': Month: 6
// 'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
Module DateToStringExample2
Public Sub Main2()
Dim dateValue As Date = #6/15/2008 9:15:07PM#
' Create an array of standard format strings.
Dim standardFmts() As String = {"d", "D", "f", "F", "g", "G",
"m", "o", "R", "s", "t", "T",
"u", "U", "y"}
' Output date and time using each standard format string.
For Each standardFmt As String In standardFmts
Console.WriteLine("{0}: {1}", standardFmt,
dateValue.ToString(standardFmt))
Next
Console.WriteLine()
' Create an array of some custom format strings.
Dim customFmts() As String = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f",
"dd MMM HH:mm:ss", "\Mon\t\h\: M", "HH:mm:ss.ffffzzz"}
' Output date and time using each custom format string.
For Each customFmt As String In customFmts
Console.WriteLine("'{0}': {1}", customFmt,
dateValue.ToString(customFmt))
Next
End Sub
End Module
' This example displays the following output to the console:
' d: 6/15/2008
' D: Sunday, June 15, 2008
' f: Sunday, June 15, 2008 9:15 PM
' F: Sunday, June 15, 2008 9:15:07 PM
' g: 6/15/2008 9:15 PM
' G: 6/15/2008 9:15:07 PM
' m: June 15
' o: 2008-06-15T21:15:07.0000000
' R: Sun, 15 Jun 2008 21:15:07 GMT
' s: 2008-06-15T21:15:07
' t: 9:15 PM
' T: 9:15:07 PM
' u: 2008-06-15 21:15:07Z
' U: Monday, June 16, 2008 4:15:07 AM
' y: June, 2008
'
' 'h:mm:ss.ff t': 9:15:07.00 P
' 'd MMM yyyy': 15 Jun 2008
' 'HH:mm:ss.f': 21:15:07.0
' 'dd MMM HH:mm:ss': 15 Jun 21:15:07
' '\Mon\t\h\: M': Month: 6
' 'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00
Poznámky
Metoda ToString(String) vrací řetězcovou reprezentaci hodnoty data a času v určitém formátu, který používá konvence formátování aktuální jazykové verze. Další informace najdete v tématu CultureInfo.CurrentCulture.
Parametr format
by měl obsahovat buď jeden znak specifikátoru formátu (viz Standardní řetězce formátu data a času), nebo vlastní formátovací vzor (viz Vlastní formátovací řetězce data a času), který definuje formát vráceného řetězce. Pokud format
je null
nebo prázdný řetězec, použije se specifikátor obecného formátu "G".
Mezi použití této metody patří:
Získání řetězce, který zobrazuje datum a čas v krátkém formátu data a času aktuální jazykové verze. Chcete-li to provést, použijte specifikátor formátu "G".
Získá řetězec, který obsahuje jenom měsíc a rok. K tomu použijete řetězec formátu "MM/yyyy". Formátovací řetězec používá oddělovač data aktuální jazykové verze.
Získání řetězce, který obsahuje datum a čas v určitém formátu. Například řetězec formátu "MM/dd/yyyyHH:mm" zobrazí řetězec data a času v pevném formátu, například "19/03//2013 18:06". Formátovací řetězec používá "/" jako pevný oddělovač data bez ohledu na nastavení specifická pro jazykovou verzi.
Získání data ve zhuštěném formátu, který lze použít k serializaci řetězce data. Například formátovací řetězec "yyyyMMdd" zobrazí čtyřmístný rok následovaný dvouciferným měsícem a dvouciferným dnem bez oddělovače data.
Následující příklad používá tyto tři formátovací řetězce k zobrazení hodnoty data a času pomocí konvencí jazykových verzí en-US a fr-FR.
using System;
using System.Globalization;
public class ToStringExample5
{
public static void Main3()
{
string[] formats = { "G", "MM/yyyy", @"MM\/dd\/yyyy HH:mm", "yyyyMMdd" };
string[] cultureNames = { "en-US", "fr-FR" };
DateTime date = new DateTime(2015, 8, 18, 13, 31, 17);
foreach (var cultureName in cultureNames)
{
var culture = new CultureInfo(cultureName);
CultureInfo.CurrentCulture = culture;
Console.WriteLine(culture.NativeName);
foreach (var format in formats)
Console.WriteLine($" {format}: {date.ToString(format)}");
Console.WriteLine();
}
}
}
// The example displays the following output:
// English (United States)
// G: 8/18/2015 1:31:17 PM
// MM/yyyy: 08/2015
// MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
// yyyyMMdd: 20150818
//
// français (France)
// G: 18/08/2015 13:31:17
// MM/yyyy: 08/2015
// MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
// yyyyMMdd: 20150818
open System
open System.Globalization
let formats = [ "G"; "MM/yyyy"; @"MM\/dd\/yyyy HH:mm"; "yyyyMMdd" ]
let cultureNames = [ "en-US"; "fr-FR" ]
let date = DateTime(2015, 8, 18, 13, 31, 17)
for cultureName in cultureNames do
let culture = CultureInfo cultureName
CultureInfo.CurrentCulture <- culture
printfn $"{culture.NativeName}"
for format in formats do
printfn $" {format}: {date.ToString format}"
printfn ""
// The example displays the following output:
// English (United States)
// G: 8/18/2015 1:31:17 PM
// MM/yyyy: 08/2015
// MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
// yyyyMMdd: 20150818
//
// français (France)
// G: 18/08/2015 13:31:17
// MM/yyyy: 08/2015
// MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
// yyyyMMdd: 20150818
Imports System.Globalization
Imports System.Threading
Public Module Example5
Public Sub Main5()
Dim formats() As String = {"G", "MM/yyyy", "MM\/dd\/yyyy HH:mm",
"yyyyMMdd"}
Dim cultureNames() As String = {"en-US", "fr-FR"}
Dim dat As New DateTime(2015, 8, 18, 13, 31, 17)
For Each cultureName In cultureNames
Dim culture As New CultureInfo(cultureName)
CultureInfo.CurrentCulture = culture
Console.WriteLine(culture.NativeName)
For Each fmt In formats
Console.WriteLine(" {0}: {1}", fmt,
dat.ToString(fmt))
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' English (United States)
' G: 8/18/2015 1:31:17 PM
' MM/yyyy: 08/2015
' MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
' yyyyMMdd: 20150818
'
' français (France)
' G: 18/08/2015 13:31:17
' MM/yyyy: 08/2015
' MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
' yyyyMMdd: 20150818
Poznámky pro volající
Metoda ToString(String) vrátí řetězcovou reprezentaci data a času v kalendáři používaném aktuální jazykovou verzí. Pokud je hodnota aktuální DateTime instance dřívější MinSupportedDateTime než nebo novější než MaxSupportedDateTime, metoda vyvolá .ArgumentOutOfRangeException V následujícím příkladu je uvedena ukázka. Pokusí se formátovat datum, které je mimo rozsah HebrewCalendar třídy, pokud je aktuální jazyková verze hebrejština (Izrael).
using System;
using System.Globalization;
using System.Threading;
public class Example3
{
public static void Main()
{
DateTime date1 = new DateTime(1550, 7, 21);
CultureInfo dft;
CultureInfo heIL = new CultureInfo("he-IL");
heIL.DateTimeFormat.Calendar = new HebrewCalendar();
// Change current culture to he-IL.
dft = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = heIL;
// Display the date using the current culture's calendar.
try
{
Console.WriteLine(date1.ToString("G"));
}
catch (ArgumentOutOfRangeException)
{
Console.WriteLine("{0} is earlier than {1} or later than {2}",
date1.ToString("d", CultureInfo.InvariantCulture),
heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
}
// Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft;
}
}
// The example displays the following output:
// 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
open System
open System.Globalization
open System.Threading
let date1 = DateTime(1550, 7, 21)
let heIL = CultureInfo "he-IL"
heIL.DateTimeFormat.Calendar <- HebrewCalendar()
// Change current culture to he-IL.
let dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture <- heIL
// Display the date using the current culture's calendar.
try
printfn $"{date1:G}"
with :? ArgumentOutOfRangeException ->
printfn $"""{date1.ToString("d", CultureInfo.InvariantCulture)} is earlier than {heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)} or later than {heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)}"""
// Restore the default culture.
Thread.CurrentThread.CurrentCulture <- dft
// The example displays the following output:
// 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim date1 As Date = #7/21/1550#
Dim dft As CultureInfo
Dim heIL As New CultureInfo("he-IL")
heIL.DateTimeFormat.Calendar = New HebrewCalendar()
' Change current culture to he-IL.
dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture = heIL
' Display the date using the current culture's calendar.
Try
Console.WriteLine(date1.ToString("G"))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0} is earlier than {1} or later than {2}", _
date1.ToString("d", CultureInfo.InvariantCulture), _
heIL.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture), _
heIL.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture))
End Try
' Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft
End Sub
End Module
' The example displays the following output:
' 07/21/1550 is earlier than 01/01/1583 or later than 09/29/2239
Viz také
- DateTimeFormatInfo
- CultureInfo
- Typy formátování v .NET
- Standardní řetězce formátu data a času
- Vlastní řetězce formátu data a času
Platí pro
ToString()
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí konvencí formátování aktuální jazykové verze.
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTime objektu.
Výjimky
Datum a čas je mimo rozsah dat podporovaných kalendářem, který používá aktuální jazyková verze.
Příklady
Následující příklad ukazuje, jak řetězcové vyjádření hodnoty vrácené metodou DateTimeToString() závisí na vlákně aktuální jazykové verze. Změní aktuální jazykovou verzi na en-US, fr-FR a ja-JP a v každém případě volá metodu ToString() pro vrácení řetězcové reprezentace hodnoty data a času pomocí této jazykové verze.
using System;
using System.Globalization;
public class ToStringExample1
{
public static void Main()
{
CultureInfo currentCulture = CultureInfo.CurrentCulture;
DateTime exampleDate = new DateTime(2021, 5, 1, 18, 32, 6);
// Change the current culture to en-US and display the date.
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
Console.WriteLine(exampleDate.ToString());
// Change the current culture to fr-FR and display the date.
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("fr-FR");
Console.WriteLine(exampleDate.ToString());
// Change the current culture to ja-JP and display the date.
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("ja-JP");
Console.WriteLine(exampleDate.ToString());
// Restore the original culture
CultureInfo.CurrentCulture = currentCulture;
}
}
// The example displays the following output to the console:
// 5/1/2021 6:32:06 PM
// 01/05/2021 18:32:06
// 2021/05/01 18:32:06
open System
open System.Globalization
let currentCulture = CultureInfo.CurrentCulture
let exampleDate = DateTime(2021, 5, 1, 18, 32, 6)
// Change the current culture to en-US and display the date.
CultureInfo.CurrentCulture <- CultureInfo.GetCultureInfo "en-US"
printfn $"{exampleDate.ToString()}"
// Change the current culture to fr-FR and display the date.
CultureInfo.CurrentCulture <- CultureInfo.GetCultureInfo "fr-FR"
printfn $"{exampleDate.ToString()}"
// Change the current culture to ja-JP and display the date.
CultureInfo.CurrentCulture <- CultureInfo.GetCultureInfo "ja-JP"
printfn $"{exampleDate.ToString()}"
// Restore the original culture
CultureInfo.CurrentCulture <- currentCulture
// The example displays the following output to the console:
// 5/1/2021 6:32:06 PM
// 01/05/2021 18:32:06
// 2021/05/01 18:32:06
Imports System.Globalization
Module DateToStringExample
Public Sub Main()
Dim currentCulture As CultureInfo = CultureInfo.CurrentCulture
Dim exampleDate As Date = #05/01/2021 6:32:06PM#
' Change the current culture to en-US and display the date.
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US")
Console.WriteLine(exampleDate.ToString())
' Change the current culture to fr-FR and display the date.
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("fr-FR")
Console.WriteLine(exampleDate.ToString())
' Change the current culture to ja-JP and display the date.
CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("ja-JP")
Console.WriteLine(exampleDate.ToString())
' Restore the original culture
CultureInfo.CurrentCulture = currentCulture
End Sub
End Module
' The example displays the following output to the console:
' 5/1/2021 6:32:06 PM
' 01/05/2021 18:32:06
' 2021/05/01 18:32:06
Poznámky
Hodnota aktuálního DateTime objektu je formátována pomocí obecného specifikátoru formátu data a času (G). Pokud chcete formátovat pomocí specifikátoru konkrétního formátu data a času, zavolejte metodu ToString(String) . Pokud chcete formátovat pomocí obecného specifikátoru formátu data a času ("G") pro konkrétní jazykovou verzi, zavolejte metodu ToString(IFormatProvider) . Chcete-li formátovat pomocí specifikátoru konkrétního formátu data a času a konvencí konkrétní jazykové verze, zavolejte metodu ToString(String, IFormatProvider) .
Tato metoda používá informace o formátování odvozené od aktuální jazykové verze. Konkrétně kombinuje řetězce vlastního formátu vrácené vlastnostmi ShortDatePattern a LongTimePattern objektu DateTimeFormatInfo vráceného Thread.CurrentThread.CurrentCulture.DateTimeFormat
vlastností . Další informace naleznete v tématu CultureInfo.CurrentCulture. Další přetížení ToString metody umožňují určit jazykovou verzi, jejíž formátování se má použít, a definovat výstupní vzor DateTime hodnoty.
Poznámky pro volající
Metoda ToString() vrátí řetězcovou reprezentaci data a času v kalendáři používaném aktuální jazykovou verzí. Pokud je hodnota aktuální DateTime instance dřívější MinSupportedDateTime než nebo novější než MaxSupportedDateTime, metoda vyvolá .ArgumentOutOfRangeException V následujícím příkladu je uvedena ukázka. Pokusí se formátovat datum, které je mimo rozsah HijriCalendar třídy, pokud je aktuální jazyková verze arabština (Sýrie).
using System;
using System.Globalization;
using System.Threading;
public class Example2
{
public static void Main()
{
DateTime date1 = new DateTime(550, 1, 1);
CultureInfo dft;
CultureInfo arSY = new CultureInfo("ar-SY");
arSY.DateTimeFormat.Calendar = new HijriCalendar();
// Change current culture to ar-SY.
dft = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = arSY;
// Display the date using the current culture's calendar.
try
{
Console.WriteLine(date1.ToString());
}
catch (ArgumentOutOfRangeException)
{
Console.WriteLine("{0} is earlier than {1} or later than {2}",
date1.ToString("d", CultureInfo.InvariantCulture),
arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
}
// Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft;
}
}
// The example displays the following output:
// 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
open System
open System.Globalization
open System.Threading
let date1 = DateTime(550, 1, 1)
let arSY = CultureInfo "ar-SY"
arSY.DateTimeFormat.Calendar <- HijriCalendar()
// Change current culture to ar-SY.
let dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture <- arSY
// Display the date using the current culture's calendar.
try
printfn $"{date1}"
with :? ArgumentOutOfRangeException ->
printfn $"""{date1.ToString("d", CultureInfo.InvariantCulture)} is earlier than {arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)} or later than {arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture)}"""
// Restore the default culture.
Thread.CurrentThread.CurrentCulture <- dft
// The example displays the following output:
// 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
Imports System.Globalization
Imports System.Threading
Module Example
Public Sub Main()
Dim date1 As Date = #1/1/550#
Dim dft As CultureInfo
Dim arSY As New CultureInfo("ar-SY")
arSY.DateTimeFormat.Calendar = New HijriCalendar()
' Change current culture to ar-SY.
dft = Thread.CurrentThread.CurrentCulture
Thread.CurrentThread.CurrentCulture = arSY
' Display the date using the current culture's calendar.
Try
Console.WriteLine(date1.ToString())
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0} is earlier than {1} or later than {2}", _
date1.ToString("d", CultureInfo.InvariantCulture), _
arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture), _
arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture))
End Try
' Restore the default culture.
Thread.CurrentThread.CurrentCulture = dft
End Sub
End Module
' The example displays the following output:
' 01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999
Viz také
Platí pro
ToString(String, IFormatProvider)
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
- Zdroj:
- DateTime.cs
Převede hodnotu aktuálního DateTime objektu na ekvivalentní řetězcovou reprezentaci pomocí zadaného formátu a informací o formátu specifickém pro jazykovou verzi.
public:
virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ provider);
public string ToString (string format, IFormatProvider provider);
public string ToString (string? format, IFormatProvider? provider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, provider As IFormatProvider) As String
Parametry
- format
- String
Standardní nebo vlastní řetězec formátu data a času.
- provider
- IFormatProvider
Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTime objektu podle a format
provider
.
Implementuje
Výjimky
Délka parametru format
je 1 a nejedná se o jeden ze znaků specifikátoru formátu definovaných pro DateTimeFormatInfo.
-nebo-
format
neobsahuje platný vzor vlastního formátu.
Datum a čas jsou mimo rozsah kalendářních dat podporovaných kalendářem používaným nástrojem provider
.
Příklady
Následující příklad používá každý z řetězců standardního formátu data a času k zobrazení řetězcové reprezentace data a času pro čtyři různé jazykové verze.
using System;
using System.Globalization;
public class ToStringExample4
{
public static void Main1()
{
// Create an array of all supported standard date and time format specifiers.
string[] formats = {"d", "D", "f", "F", "g", "G", "m", "o", "r",
"s", "t", "T", "u", "U", "Y"};
// Create an array of four cultures.
CultureInfo[] cultures = {CultureInfo.GetCultureInfo("de-DE"),
CultureInfo.GetCultureInfo("en-US"),
CultureInfo.GetCultureInfo("es-ES"),
CultureInfo.GetCultureInfo("fr-FR")};
// Define date to be displayed.
DateTime dateToDisplay = new DateTime(2008, 10, 31, 17, 4, 32);
// Iterate each standard format specifier.
foreach (string formatSpecifier in formats)
{
foreach (CultureInfo culture in cultures)
Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}",
formatSpecifier, culture.Name,
dateToDisplay.ToString(formatSpecifier, culture));
Console.WriteLine();
}
}
}
// The example displays the following output:
// d Format Specifier de-DE Culture 31.10.2008
// d Format Specifier en-US Culture 10/31/2008
// d Format Specifier es-ES Culture 31/10/2008
// d Format Specifier fr-FR Culture 31/10/2008
//
// D Format Specifier de-DE Culture Freitag, 31. Oktober 2008
// D Format Specifier en-US Culture Friday, October 31, 2008
// D Format Specifier es-ES Culture viernes, 31 de octubre de 2008
// D Format Specifier fr-FR Culture vendredi 31 octobre 2008
//
// f Format Specifier de-DE Culture Freitag, 31. Oktober 2008 17:04
// f Format Specifier en-US Culture Friday, October 31, 2008 5:04 PM
// f Format Specifier es-ES Culture viernes, 31 de octubre de 2008 17:04
// f Format Specifier fr-FR Culture vendredi 31 octobre 2008 17:04
//
// F Format Specifier de-DE Culture Freitag, 31. Oktober 2008 17:04:32
// F Format Specifier en-US Culture Friday, October 31, 2008 5:04:32 PM
// F Format Specifier es-ES Culture viernes, 31 de octubre de 2008 17:04:32
// F Format Specifier fr-FR Culture vendredi 31 octobre 2008 17:04:32
//
// g Format Specifier de-DE Culture 31.10.2008 17:04
// g Format Specifier en-US Culture 10/31/2008 5:04 PM
// g Format Specifier es-ES Culture 31/10/2008 17:04
// g Format Specifier fr-FR Culture 31/10/2008 17:04
//
// G Format Specifier de-DE Culture 31.10.2008 17:04:32
// G Format Specifier en-US Culture 10/31/2008 5:04:32 PM
// G Format Specifier es-ES Culture 31/10/2008 17:04:32
// G Format Specifier fr-FR Culture 31/10/2008 17:04:32
//
// m Format Specifier de-DE Culture 31. Oktober
// m Format Specifier en-US Culture October 31
// m Format Specifier es-ES Culture 31 de octubre
// m Format Specifier fr-FR Culture 31 octobre
//
// o Format Specifier de-DE Culture 2008-10-31T17:04:32.0000000
// o Format Specifier en-US Culture 2008-10-31T17:04:32.0000000
// o Format Specifier es-ES Culture 2008-10-31T17:04:32.0000000
// o Format Specifier fr-FR Culture 2008-10-31T17:04:32.0000000
//
// r Format Specifier de-DE Culture Fri, 31 Oct 2008 17:04:32 GMT
// r Format Specifier en-US Culture Fri, 31 Oct 2008 17:04:32 GMT
// r Format Specifier es-ES Culture Fri, 31 Oct 2008 17:04:32 GMT
// r Format Specifier fr-FR Culture Fri, 31 Oct 2008 17:04:32 GMT
//
// s Format Specifier de-DE Culture 2008-10-31T17:04:32
// s Format Specifier en-US Culture 2008-10-31T17:04:32
// s Format Specifier es-ES Culture 2008-10-31T17:04:32
// s Format Specifier fr-FR Culture 2008-10-31T17:04:32
//
// t Format Specifier de-DE Culture 17:04
// t Format Specifier en-US Culture 5:04 PM
// t Format Specifier es-ES Culture 17:04
// t Format Specifier fr-FR Culture 17:04
//
// T Format Specifier de-DE Culture 17:04:32
// T Format Specifier en-US Culture 5:04:32 PM
// T Format Specifier es-ES Culture 17:04:32
// T Format Specifier fr-FR Culture 17:04:32
//
// u Format Specifier de-DE Culture 2008-10-31 17:04:32Z
// u Format Specifier en-US Culture 2008-10-31 17:04:32Z
// u Format Specifier es-ES Culture 2008-10-31 17:04:32Z
// u Format Specifier fr-FR Culture 2008-10-31 17:04:32Z
//
// U Format Specifier de-DE Culture Freitag, 31. Oktober 2008 09:04:32
// U Format Specifier en-US Culture Friday, October 31, 2008 9:04:32 AM
// U Format Specifier es-ES Culture viernes, 31 de octubre de 2008 9:04:32
// U Format Specifier fr-FR Culture vendredi 31 octobre 2008 09:04:32
//
// Y Format Specifier de-DE Culture Oktober 2008
// Y Format Specifier en-US Culture October 2008
// Y Format Specifier es-ES Culture octubre de 2008
// Y Format Specifier fr-FR Culture octobre 2008
open System
open System.Globalization
// Create a list of all supported standard date and time format specifiers.
let formats =
[ "d"; "D"; "f"; "F"; "g"; "G"; "m"; "o"
"r"; "s"; "t"; "T"; "u"; "U"; "Y" ]
// Create a list of four cultures.
let cultures =
[ CultureInfo.GetCultureInfo "de-DE"
CultureInfo.GetCultureInfo "en-US"
CultureInfo.GetCultureInfo "es-ES"
CultureInfo.GetCultureInfo "fr-FR" ]
// Define date to be displayed.
let dateToDisplay = DateTime(2008, 10, 31, 17, 4, 32)
// Iterate each standard format specifier.
for formatSpecifier in formats do
for culture in cultures do
printfn $"{formatSpecifier} Format Specifier {culture.Name, 10} Culture {dateToDisplay.ToString(formatSpecifier, culture), 40}"
printfn ""
// The example displays the following output:
// d Format Specifier de-DE Culture 31.10.2008
// d Format Specifier en-US Culture 10/31/2008
// d Format Specifier es-ES Culture 31/10/2008
// d Format Specifier fr-FR Culture 31/10/2008
//
// D Format Specifier de-DE Culture Freitag, 31. Oktober 2008
// D Format Specifier en-US Culture Friday, October 31, 2008
// D Format Specifier es-ES Culture viernes, 31 de octubre de 2008
// D Format Specifier fr-FR Culture vendredi 31 octobre 2008
//
// f Format Specifier de-DE Culture Freitag, 31. Oktober 2008 17:04
// f Format Specifier en-US Culture Friday, October 31, 2008 5:04 PM
// f Format Specifier es-ES Culture viernes, 31 de octubre de 2008 17:04
// f Format Specifier fr-FR Culture vendredi 31 octobre 2008 17:04
//
// F Format Specifier de-DE Culture Freitag, 31. Oktober 2008 17:04:32
// F Format Specifier en-US Culture Friday, October 31, 2008 5:04:32 PM
// F Format Specifier es-ES Culture viernes, 31 de octubre de 2008 17:04:32
// F Format Specifier fr-FR Culture vendredi 31 octobre 2008 17:04:32
//
// g Format Specifier de-DE Culture 31.10.2008 17:04
// g Format Specifier en-US Culture 10/31/2008 5:04 PM
// g Format Specifier es-ES Culture 31/10/2008 17:04
// g Format Specifier fr-FR Culture 31/10/2008 17:04
//
// G Format Specifier de-DE Culture 31.10.2008 17:04:32
// G Format Specifier en-US Culture 10/31/2008 5:04:32 PM
// G Format Specifier es-ES Culture 31/10/2008 17:04:32
// G Format Specifier fr-FR Culture 31/10/2008 17:04:32
//
// m Format Specifier de-DE Culture 31. Oktober
// m Format Specifier en-US Culture October 31
// m Format Specifier es-ES Culture 31 de octubre
// m Format Specifier fr-FR Culture 31 octobre
//
// o Format Specifier de-DE Culture 2008-10-31T17:04:32.0000000
// o Format Specifier en-US Culture 2008-10-31T17:04:32.0000000
// o Format Specifier es-ES Culture 2008-10-31T17:04:32.0000000
// o Format Specifier fr-FR Culture 2008-10-31T17:04:32.0000000
//
// r Format Specifier de-DE Culture Fri, 31 Oct 2008 17:04:32 GMT
// r Format Specifier en-US Culture Fri, 31 Oct 2008 17:04:32 GMT
// r Format Specifier es-ES Culture Fri, 31 Oct 2008 17:04:32 GMT
// r Format Specifier fr-FR Culture Fri, 31 Oct 2008 17:04:32 GMT
//
// s Format Specifier de-DE Culture 2008-10-31T17:04:32
// s Format Specifier en-US Culture 2008-10-31T17:04:32
// s Format Specifier es-ES Culture 2008-10-31T17:04:32
// s Format Specifier fr-FR Culture 2008-10-31T17:04:32
//
// t Format Specifier de-DE Culture 17:04
// t Format Specifier en-US Culture 5:04 PM
// t Format Specifier es-ES Culture 17:04
// t Format Specifier fr-FR Culture 17:04
//
// T Format Specifier de-DE Culture 17:04:32
// T Format Specifier en-US Culture 5:04:32 PM
// T Format Specifier es-ES Culture 17:04:32
// T Format Specifier fr-FR Culture 17:04:32
//
// u Format Specifier de-DE Culture 2008-10-31 17:04:32Z
// u Format Specifier en-US Culture 2008-10-31 17:04:32Z
// u Format Specifier es-ES Culture 2008-10-31 17:04:32Z
// u Format Specifier fr-FR Culture 2008-10-31 17:04:32Z
//
// U Format Specifier de-DE Culture Freitag, 31. Oktober 2008 09:04:32
// U Format Specifier en-US Culture Friday, October 31, 2008 9:04:32 AM
// U Format Specifier es-ES Culture viernes, 31 de octubre de 2008 9:04:32
// U Format Specifier fr-FR Culture vendredi 31 octobre 2008 09:04:32
//
// Y Format Specifier de-DE Culture Oktober 2008
// Y Format Specifier en-US Culture October 2008
// Y Format Specifier es-ES Culture octubre de 2008
// Y Format Specifier fr-FR Culture octobre 2008
Imports System.Globalization
Module Example
Public Sub Main4()
' Create an array of all supported standard date and time format specifiers.
Dim formats() As String = {"d", "D", "f", "F", "g", "G", "m", "o", "r",
"s", "t", "T", "u", "U", "Y"}
' Create an array of four cultures.
Dim cultures() As CultureInfo = {CultureInfo.GetCultureInfo("de-DE"),
CultureInfo.GetCultureInfo("en-US"),
CultureInfo.GetCultureInfo("es-ES"),
CultureInfo.GetCultureInfo("fr-FR")}
' Define date to be displayed.
Dim dateToDisplay As Date = #10/1/2008 17:04:32#
' Iterate each standard format specifier.
For Each formatSpecifier As String In formats
For Each culture As CultureInfo In cultures
Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}",
formatSpecifier, culture.Name,
dateToDisplay.ToString(formatSpecifier, culture))
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' d Format Specifier de-DE Culture 01.10.2008
' d Format Specifier en-US Culture 10/1/2008
' d Format Specifier es-ES Culture 01/10/2008
' d Format Specifier fr-FR Culture 01/10/2008
'
' D Format Specifier de-DE Culture Mittwoch, 1. Oktober 2008
' D Format Specifier en-US Culture Wednesday, October 01, 2008
' D Format Specifier es-ES Culture miércoles, 01 de octubre de 2008
' D Format Specifier fr-FR Culture mercredi 1 octobre 2008
'
' f Format Specifier de-DE Culture Mittwoch, 1. Oktober 2008 17:04
' f Format Specifier en-US Culture Wednesday, October 01, 2008 5:04 PM
' f Format Specifier es-ES Culture miércoles, 01 de octubre de 2008 17:04
' f Format Specifier fr-FR Culture mercredi 1 octobre 2008 17:04
'
' F Format Specifier de-DE Culture Mittwoch, 1. Oktober 2008 17:04:32
' F Format Specifier en-US Culture Wednesday, October 01, 2008 5:04:32 PM
' F Format Specifier es-ES Culture miércoles, 01 de octubre de 2008 17:04:3
' F Format Specifier fr-FR Culture mercredi 1 octobre 2008 17:04:32
'
' g Format Specifier de-DE Culture 01.10.2008 17:04
' g Format Specifier en-US Culture 10/1/2008 5:04 PM
' g Format Specifier es-ES Culture 01/10/2008 17:04
' g Format Specifier fr-FR Culture 01/10/2008 17:04
'
' G Format Specifier de-DE Culture 01.10.2008 17:04:32
' G Format Specifier en-US Culture 10/1/2008 5:04:32 PM
' G Format Specifier es-ES Culture 01/10/2008 17:04:32
' G Format Specifier fr-FR Culture 01/10/2008 17:04:32
'
' m Format Specifier de-DE Culture 01 Oktober
' m Format Specifier en-US Culture October 01
' m Format Specifier es-ES Culture 01 octubre
' m Format Specifier fr-FR Culture 1 octobre
'
' o Format Specifier de-DE Culture 2008-10-01T17:04:32.0000000
' o Format Specifier en-US Culture 2008-10-01T17:04:32.0000000
' o Format Specifier es-ES Culture 2008-10-01T17:04:32.0000000
' o Format Specifier fr-FR Culture 2008-10-01T17:04:32.0000000
'
' r Format Specifier de-DE Culture Wed, 01 Oct 2008 17:04:32 GMT
' r Format Specifier en-US Culture Wed, 01 Oct 2008 17:04:32 GMT
' r Format Specifier es-ES Culture Wed, 01 Oct 2008 17:04:32 GMT
' r Format Specifier fr-FR Culture Wed, 01 Oct 2008 17:04:32 GMT
'
' s Format Specifier de-DE Culture 2008-10-01T17:04:32
' s Format Specifier en-US Culture 2008-10-01T17:04:32
' s Format Specifier es-ES Culture 2008-10-01T17:04:32
' s Format Specifier fr-FR Culture 2008-10-01T17:04:32
'
' t Format Specifier de-DE Culture 17:04
' t Format Specifier en-US Culture 5:04 PM
' t Format Specifier es-ES Culture 17:04
' t Format Specifier fr-FR Culture 17:04
'
' T Format Specifier de-DE Culture 17:04:32
' T Format Specifier en-US Culture 5:04:32 PM
' T Format Specifier es-ES Culture 17:04:32
' T Format Specifier fr-FR Culture 17:04:32
'
' u Format Specifier de-DE Culture 2008-10-01 17:04:32Z
' u Format Specifier en-US Culture 2008-10-01 17:04:32Z
' u Format Specifier es-ES Culture 2008-10-01 17:04:32Z
' u Format Specifier fr-FR Culture 2008-10-01 17:04:32Z
'
' U Format Specifier de-DE Culture Donnerstag, 2. Oktober 2008 00:04:32
' U Format Specifier en-US Culture Thursday, October 02, 2008 12:04:32 AM
' U Format Specifier es-ES Culture jueves, 02 de octubre de 2008 0:04:32
' U Format Specifier fr-FR Culture jeudi 2 octobre 2008 00:04:32
'
' Y Format Specifier de-DE Culture Oktober 2008
' Y Format Specifier en-US Culture October, 2008
' Y Format Specifier es-ES Culture octubre de 2008
' Y Format Specifier fr-FR Culture octobre 2008
Následující příklad ukazuje různé způsoby formátování DateTime hodnoty pomocí invariantní DateTimeFormatInfo.
using namespace System;
using namespace System::Globalization;
void main()
{
DateTime dt = DateTime::Now;
array<String^>^format = {L"d",L"D",L"f",L"F",L"g",L"G",L"m",L"r",L"s",L"t",L"T",L"u",L"U",L"y",L"dddd, MMMM dd yyyy",L"ddd, MMM d \"'\"yy",L"dddd, MMMM dd",L"M/yy",L"dd-MM-yy"};
String^ date;
for ( int i = 0; i < format->Length; i++ )
{
date = dt.ToString( format[ i ], DateTimeFormatInfo::InvariantInfo );
Console::WriteLine( String::Concat( format[ i ], L" :", date ) );
}
/** Output.
*
* d :08/17/2000
* D :Thursday, August 17, 2000
* f :Thursday, August 17, 2000 16:32
* F :Thursday, August 17, 2000 16:32:32
* g :08/17/2000 16:32
* G :08/17/2000 16:32:32
* m :August 17
* r :Thu, 17 Aug 2000 23:32:32 GMT
* s :2000-08-17T16:32:32
* t :16:32
* T :16:32:32
* u :2000-08-17 23:32:32Z
* U :Thursday, August 17, 2000 23:32:32
* y :August, 2000
* dddd, MMMM dd yyyy :Thursday, August 17 2000
* ddd, MMM d "'"yy :Thu, Aug 17 '00
* dddd, MMMM dd :Thursday, August 17
* M/yy :8/00
* dd-MM-yy :17-08-00
*/
}
open System
open System.Globalization
let dt = DateTime.Now
let formats =
[ "d"; "D"
"f"; "F"
"g"; "G"
"m"
"r"
"s"
"t"; "T"
"u"; "U"
"y"
"dddd, MMMM dd yyyy"
"ddd, MMM d \"'\"yy"
"dddd, MMMM dd"
"M/yy"
"dd-MM-yy" ]
for format in formats do
let date = dt.ToString(format, DateTimeFormatInfo.InvariantInfo)
printfn $"{format}: {date}"
// Output.
// d: 08/17/2000
// D: Thursday, August 17, 2000
// f: Thursday, August 17, 2000 16:32
// F: Thursday, August 17, 2000 16:32:32
// g: 08/17/2000 16:32
// G: 08/17/2000 16:32:32
// m: August 17
// r: Thu, 17 Aug 2000 23:32:32 GMT
// s: 2000-08-17T16:32:32
// t: 16:32
// T: 16:32:32
// u: 2000-08-17 23:32:32Z
// U: Thursday, August 17, 2000 23:32:32
// y: August, 2000
// dddd, MMMM dd yyyy: Thursday, August 17 2000
// ddd, MMM d "'"yy: Thu, Aug 17 '00
// dddd, MMMM dd: Thursday, August 17
// M/yy: 8/00
// dd-MM-yy: 17-08-00
using System;
using System.Globalization;
public class MainClass
{
public static void Main(string[] args)
{
DateTime dt = DateTime.Now;
String[] format = {
"d", "D",
"f", "F",
"g", "G",
"m",
"r",
"s",
"t", "T",
"u", "U",
"y",
"dddd, MMMM dd yyyy",
"ddd, MMM d \"'\"yy",
"dddd, MMMM dd",
"M/yy",
"dd-MM-yy",
};
string date;
for (int i = 0; i < format.Length; i++)
{
date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);
Console.WriteLine(string.Concat(format[i], " :", date));
}
/** Output.
*
* d :08/17/2000
* D :Thursday, August 17, 2000
* f :Thursday, August 17, 2000 16:32
* F :Thursday, August 17, 2000 16:32:32
* g :08/17/2000 16:32
* G :08/17/2000 16:32:32
* m :August 17
* r :Thu, 17 Aug 2000 23:32:32 GMT
* s :2000-08-17T16:32:32
* t :16:32
* T :16:32:32
* u :2000-08-17 23:32:32Z
* U :Thursday, August 17, 2000 23:32:32
* y :August, 2000
* dddd, MMMM dd yyyy :Thursday, August 17 2000
* ddd, MMM d "'"yy :Thu, Aug 17 '00
* dddd, MMMM dd :Thursday, August 17
* M/yy :8/00
* dd-MM-yy :17-08-00
*/
}
}
Option Explicit
Option Strict
Imports System.Globalization
Public Class MainClass
Public Shared Sub Main()
Dim dt As DateTime = DateTime.Now
Dim myformat() As String = {"d", "D", _
"f", "F", _
"g", "G", _
"m", _
"r", _
"s", _
"t", "T", _
"u", "U", _
"y", _
"dddd, MMMM dd yyyy", _
"ddd, MMM d ""'""yy", _
"dddd, MMMM dd", _
"M/yy", _
"dd-MM-yy"}
Dim mydate As String
Dim i As Integer
For i = 0 To myformat.Length - 1
mydate = dt.ToString(myformat(i), DateTimeFormatInfo.InvariantInfo)
Console.WriteLine(String.Concat(myformat(i), " :", mydate))
Next i
' Output.
'
' d :08/17/2000
' D :Thursday, August 17, 2000
' f :Thursday, August 17, 2000 16:32
' F :Thursday, August 17, 2000 16:32:32
' g :08/17/2000 16:32
' G :08/17/2000 16:32:32
' m :August 17
' r :Thu, 17 Aug 2000 23:32:32 GMT
' s :2000-08-17T16:32:32
' t :16:32
' T :16:32:32
' u :2000-08-17 23:32:32Z
' U :Thursday, August 17, 2000 23:32:32
' y :August, 2000
' dddd, MMMM dd yyyy :Thursday, August 17 2000
' ddd, MMM d "'"yy :Thu, Aug 17 '00
' dddd, MMMM dd :Thursday, August 17
' M/yy :8/00
' dd-MM-yy :17-08-00
End Sub
End Class
Poznámky
Parametr format
může obsahovat buď jeden znak specifikátoru formátu (viz Standardní řetězce formátu data a času), nebo vlastní formátovací vzor (viz Vlastní řetězce formátu data a času). Pokud format
je null
nebo prázdný řetězec ("), použije se standardní specifikátor formátu "G".
Parametr provider
definuje vzor, který odpovídá standardním specifikátorům formátu, a také symboly a názvy součástí data a času. Parametr provider
může být libovolný z následujících:
Objekt CultureInfo , který představuje jazykovou verzi, jejíž konvence formátování se mají promítnout do vráceného řetězce. Objekt DateTimeFormatInfo vrácený CultureInfo.DateTimeFormat vlastností definuje formátování vráceného řetězce.
Objekt DateTimeFormatInfo , který definuje formát dat data a času.
Vlastní objekt, který implementuje IFormatProvider rozhraní. Jeho GetFormat metoda vrátí DateTimeFormatInfo objekt, který poskytuje informace o formátování.
Pokud provider
je null
, použije se DateTimeFormatInfo přidružený k aktuální jazykové verzi. Další informace naleznete v tématu CultureInfo.CurrentCulture.
Poznámky pro volající
Metoda ToString(String, IFormatProvider) vrátí řetězcovou reprezentaci data a času v kalendáři používaném parametrem provider
. Jeho kalendář je definován vlastností Calendar . Pokud je hodnota aktuální DateTime instance dřívější MinSupportedDateTime než nebo novější než MaxSupportedDateTime, metoda vyvolá .ArgumentOutOfRangeException V následujícím příkladu je uvedena ukázka. Pokusí se formátovat datum, které je mimo rozsah UmAlQuraCalendar třídy .
using System;
using System.Globalization;
public class Example4
{
public static void Main()
{
CultureInfo arSA = new CultureInfo("ar-SA");
arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
DateTime date1 = new DateTime(1890, 9, 10);
try
{
Console.WriteLine(date1.ToString("d", arSA));
}
catch (ArgumentOutOfRangeException)
{
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",
date1,
arSA.DateTimeFormat.Calendar.MinSupportedDateTime,
arSA.DateTimeFormat.Calendar.MaxSupportedDateTime);
}
}
}
// The example displays the following output:
// 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
open System
open System.Globalization
let arSA = CultureInfo "ar-SA"
arSA.DateTimeFormat.Calendar <- UmAlQuraCalendar()
let date1 = DateTime(1890, 9, 10)
try
date1.ToString("d", arSA)
|> printfn "%s"
with :? ArgumentOutOfRangeException ->
printfn $"{date1:d} is earlier than {arSA.DateTimeFormat.Calendar.MinSupportedDateTime:d} or later than {arSA.DateTimeFormat.Calendar.MaxSupportedDateTime:d}"
// The example displays the following output:
// 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
Imports System.Globalization
Module Example
Public Sub Main()
Dim arSA As New CultureInfo("ar-SA")
arSA.DateTimeFormat.Calendar = New UmAlQuraCalendar()
Dim date1 As Date = #09/10/1890#
Try
Console.WriteLine(date1.ToString("d", arSA))
Catch e As ArgumentOutOfRangeException
Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}", _
date1, _
arSA.DateTimeFormat.Calendar.MinSupportedDateTime, _
arSA.DateTimeFormat.Calendar.MaxSupportedDateTime)
End Try
End Sub
End Module
' The example displays the following output:
' 9/10/1890 is earlier than 4/30/1900 or later than 5/13/2029
Viz také
- DateTimeFormatInfo
- CultureInfo
- Typy formátování v .NET
- Standardní řetězce formátu data a času
- Vlastní řetězce formátu data a času
- Ukázka: .NET Core – nástroj pro formátování WinForms (C#)
- Ukázka: .NET Core WinForms Formatting Utility (Visual Basic)