DateTime.ToString Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung.
Überlädt
ToString(String, IFormatProvider) |
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
ToString(String) |
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats und der Formatierungskonventionen der aktuellen Kultur in die entsprechende Zeichenfolgendarstellung. |
ToString(IFormatProvider) |
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung. |
ToString() |
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der Formatierungskonventionen der aktuellen Kultur in die entsprechende Zeichenfolgendarstellung. |
ToString(String, IFormatProvider)
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats sowie der kulturabhängigen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
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
Parameter
- format
- String
Eine Standard- oder benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts entsprechend der Angabe in format
und provider
.
Implementiert
Ausnahmen
Die Länge des format
ist 1, und es ist keines der Formatbezeichnerzeichen, die für DateTimeFormatInfo definiert sind.
- oder -
format
enthält kein gültiges benutzerdefiniertes Formatmuster.
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die vom Kalender unterstützt werden, der von provider
verwendet wird.
Beispiele
Im folgenden Beispiel wird jede der standardmäßigen Formatzeichenfolgen für Datum und Uhrzeit verwendet, um die Zeichenfolgendarstellung eines Datums und einer Uhrzeit für vier verschiedene Kulturen anzuzeigen.
using System;
using System.Globalization;
public class Example
{
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
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
Im folgenden Beispiel werden verschiedene Möglichkeiten zum Formatieren eines Werts DateTime mithilfe der invarianten DateTimeFormatInfo veranschaulicht.
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
*/
}
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
Hinweise
Der -Parameter kann entweder ein einzelnes Formatbezeichnerzeichen (siehe Standardformatzeichenfolgen für Datum und Uhrzeit) oder ein benutzerdefiniertes Formatmuster (siehe Benutzerdefinierte Formatzeichenfolgen für Datum und format
Uhrzeit) enthalten. Wenn oder eine leere Zeichenfolge ("") ist, wird der format
null
Standardformatbezeichner "G" verwendet.
Der -Parameter definiert das Muster, das den Standardformatbezeichnern entspricht, sowie die Symbole und Namen provider
von Datums- und Uhrzeitkomponenten. Der provider
Parameter kann eine der folgenden Sein:
Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierungskonventionen in der zurückgegebenen Zeichenfolge widergespiegelt werden sollen. Das DateTimeFormatInfo von der -Eigenschaft CultureInfo.DateTimeFormat zurückgegebene -Objekt definiert die Formatierung der zurückgegebenen Zeichenfolge.
Ein DateTimeFormatInfo -Objekt, das das Format von Datums- und Uhrzeitdaten definiert.
Ein benutzerdefiniertes -Objekt, das die IFormatProvider -Schnittstelle implementiert. Die GetFormat -Methode gibt ein DateTimeFormatInfo -Objekt zurück, das Formatierungsinformationen enthält.
Wenn provider
null
ist, wird DateTimeFormatInfo der der aktuellen Kultur zugeordnete verwendet. Weitere Informationen finden Sie unter CultureInfo.CurrentCulture.
Hinweise für Aufrufer
Die ToString(String, IFormatProvider) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der vom -Parameter verwendet provider
wird. Sein Kalender wird durch die -Eigenschaft Calendar definiert. Wenn der Wert der aktuellen Instanz vor oder höher als DateTime MinSupportedDateTime MaxSupportedDateTime ist, löst die -Methode eine ArgumentOutOfRangeException aus. Dies wird im folgenden Beispiel veranschaulicht. Es wird versucht, ein Datum zu formatieren, das sich außerhalb des Bereichs der -Klasse UmAlQuraCalendar befindet.
Siehe auch
- DateTimeFormatInfo
- CultureInfo
- Formatieren von Typen in .NET
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (C#)
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (Visual Basic)
Gilt für
ToString(String)
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung des angegebenen Formats und der Formatierungskonventionen der aktuellen Kultur in die entsprechende Zeichenfolgendarstellung.
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
Parameter
- format
- String
Eine Standard- oder benutzerdefinierte Formatzeichenfolge für Datum und Uhrzeit.
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts entsprechend der Angabe in format
.
Ausnahmen
Die Länge des format
ist 1, und es ist keines der Formatbezeichnerzeichen, die für DateTimeFormatInfo definiert sind.
- oder -
format
enthält kein gültiges benutzerdefiniertes Formatmuster.
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die von dem Kalender unterstützt werden, der von der aktuellen Kultur verwendet wird.
Beispiele
Im folgenden Beispiel wird jede der standardmäßigen Formatzeichenfolgen für Datum und Uhrzeit sowie eine Auswahl benutzerdefinierter Formatzeichenfolgen für Datum und Uhrzeit verwendet, um die Zeichenfolgendarstellung eines Werts DateTime anzuzeigen. Die aktuelle Threadkultur für das Beispiel ist en-US.
using System;
public class DateToStringExample2
{
public static void Main0()
{
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
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
Hinweise
Die -Methode gibt die Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts in einem bestimmten Format zurück, das die Formatierungskonventionen der aktuellen Kultur verwendet. Weitere Informationen ToString(String) finden Sie unter CultureInfo.CurrentCulture .
Der -Parameter sollte entweder ein einzelnes Formatbezeichnerzeichen (siehe Standardformatzeichenfolgen für Datum und Uhrzeit) oder ein benutzerdefiniertes Formatmuster format
(siehe BenutzerdefinierteFormatzeichenfolgen für Datum und Uhrzeit) enthalten, das das Format der zurückgegebenen Zeichenfolge definiert. Wenn format
oder eine leere Zeichenfolge ist, wird der allgemeine null
Formatbezeichner "G" verwendet.
Zu den Verwendungsmöglichkeiten dieser Methode gehören:
Abrufen einer Zeichenfolge, die das Datum und die Uhrzeit im kurzen Datums- und Uhrzeitformat der aktuellen Kultur anzeigt. Verwenden Sie hierzu den Formatbezeichner "G".
Abrufen einer Zeichenfolge, die nur den Monat und das Jahr enthält. Verwenden Sie hierzu die Formatzeichenfolge "MM/yyyy". Die Formatzeichenfolge verwendet das Datumstrennzeichen der aktuellen Kultur.
Abrufen einer Zeichenfolge, die Datum und Uhrzeit in einem bestimmten Format enthält. Beispielsweise zeigt die Formatzeichenfolge "MM/dd/yyyyHH:mm" die Datums- und Uhrzeitzeichenfolge in einem festen Format wie "19.03.2013 18:06" an. Die Formatzeichenfolge verwendet "/" als festes Datumstrennzeichen, unabhängig von kulturspezifischen Einstellungen.
Abrufen eines Datums in einem komprimierten Format, das zum Serialisieren einer Datumszeichenfolge verwendet werden kann. Beispielsweise zeigt die Formatzeichenfolge "yyyyMMdd" ein vierstelliges Jahr an, gefolgt von einem zweistelligen Monat und einem zweistelligen Tag ohne Datumstrennzeichen.
Im folgenden Beispiel werden diese drei Formatzeichenfolgen verwendet, um einen Datums- und Uhrzeitwert anhand der Konventionen der Kulturen en-US und fr-FR anzuzeigen.
using System;
using System.Globalization;
public class Example3
{
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
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
Hinweise für Aufrufer
Die ToString(String) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der von der aktuellen Kultur verwendet wird. Wenn der Wert der aktuellen Instanz vor oder höher als DateTime MinSupportedDateTime MaxSupportedDateTime ist, löst die -Methode eine ArgumentOutOfRangeException aus. Dies wird im folgenden Beispiel veranschaulicht. Es wird versucht, ein Datum zu formatieren, das außerhalb des Bereichs der -Klasse liegt, wenn die aktuelle Kultur HebrewCalendar Hebräisch (Hebräisch) ist.
using System;
using System.Globalization;
using System.Threading;
public class Example
{
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
Siehe auch
- DateTimeFormatInfo
- CultureInfo
- Formatieren von Typen in .NET
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
Gilt für
ToString(IFormatProvider)
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.
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
Parameter
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts entsprechend der Angabe in provider
.
Implementiert
Ausnahmen
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die vom Kalender unterstützt werden, der von provider
verwendet wird.
Beispiele
Im folgenden Beispiel wird die Zeichenfolgendarstellung eines Datums und einer Uhrzeit mithilfe von CultureInfo -Objekten angezeigt, die fünf verschiedene Kulturen darstellen.
using System;
using System.Globalization;
public class Example2
{
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
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
Hinweise
Der Wert des aktuellen DateTime -Objekts wird mit dem allgemeinen Formatbezeichner für Datum und Uhrzeit ('G') formatiert, der die Ausgabe mithilfe des kurzen Datumsmusters und des Musters für lange Zeit formatiert.
Das Format des kurzen Datums- und Zeitmusters wird durch den provider
-Parameter definiert. Der provider
Parameter kann eine der folgenden Sein:
Ein CultureInfo -Objekt, das die Kultur darstellt, deren Formatierungskonventionen in der zurückgegebenen Zeichenfolge widergespiegelt werden sollen. Das DateTimeFormatInfo von der -Eigenschaft CultureInfo.DateTimeFormat zurückgegebene -Objekt definiert die Formatierung der zurückgegebenen Zeichenfolge.
Ein DateTimeFormatInfo -Objekt, das das Format von Datums- und Uhrzeitdaten definiert.
Ein benutzerdefiniertes -Objekt, das die IFormatProvider -Schnittstelle implementiert. Die GetFormat -Methode gibt ein DateTimeFormatInfo -Objekt zurück, das Formatierungsinformationen enthält.
Wenn provider
null
ist, wird DateTimeFormatInfo das -Objekt verwendet, das der aktuellen Kultur zugeordnet ist. Weitere Informationen finden Sie unter CultureInfo.CurrentCulture.
Hinweise für Aufrufer
Die ToString(IFormatProvider) -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der von der durch den -Parameter dargestellten Kultur verwendet provider
wird. Sein Kalender wird durch die -Eigenschaft Calendar definiert. Wenn der Wert der aktuellen Instanz vor oder höher als DateTime MinSupportedDateTime MaxSupportedDateTime ist, löst die -Methode eine ArgumentOutOfRangeException aus. Dies wird im folgenden Beispiel veranschaulicht. Es wird versucht, ein Datum zu formatieren, das sich außerhalb des Bereichs der -Klasse JapaneseCalendar befindet.
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 }
Siehe auch
Gilt für
ToString()
Konvertiert den Wert des aktuellen DateTime-Objekts unter Verwendung der Formatierungskonventionen der aktuellen Kultur in die entsprechende Zeichenfolgendarstellung.
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Gibt zurück
Die Zeichenfolgendarstellung des Werts des aktuellen DateTime-Objekts.
Ausnahmen
Datum und Uhrzeit liegen außerhalb des Bereichs von Datumsangaben, die von dem Kalender unterstützt werden, der von der aktuellen Kultur verwendet wird.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die Zeichenfolgendarstellung eines DateTime werts, der von der -Methode zurückgegeben ToString() wird, von der aktuellen Threadkultur abhängt. Sie ändert die aktuelle Kultur in en-US, fr-FR und ja-JP und ruft in jedem Fall die ToString() -Methode auf, um die Zeichenfolgendarstellung eines Datums- und Uhrzeitwerts mit dieser Kultur zurückzugeben.
using System;
using System.Globalization;
public class DateToStringExample
{
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
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
Hinweise
Der Wert des aktuellen DateTime -Objekts wird mit dem allgemeinen Formatbezeichner für Datum und Uhrzeit ("G") formatiert. Rufen Sie die -Methode auf, um sie mit einem bestimmten Datums- und Uhrzeitformatbezeichner zu ToString(String) formatieren. Rufen Sie die -Methode auf, um sie mit dem allgemeinen Formatbezeichner für Datum und Uhrzeit ('G') für eine bestimmte Kultur zu ToString(IFormatProvider) formatieren. Um es mit einem bestimmten Datums- und Uhrzeitformatbezeichner und den Konventionen einer bestimmten Kultur zu formatieren, rufen Sie die ToString(String, IFormatProvider) -Methode auf.
Diese Methode verwendet Formatierungsinformationen, die von der aktuellen Kultur abgeleitet sind. Insbesondere werden die benutzerdefinierten Formatzeichenfolgen kombiniert, die von den ShortDatePattern - und LongTimePattern -Eigenschaften des -Objekts zurückgegeben DateTimeFormatInfo werden, das von der -Eigenschaft zurückgegeben Thread.CurrentThread.CurrentCulture.DateTimeFormat
wird. Weitere Informationen finden Sie unter CultureInfo.CurrentCulture. Mit anderen Überladungen der ToString -Methode können Sie die Kultur angeben, deren Formatierung verwendet werden soll, und das Ausgabemuster des DateTime Werts definieren.
Hinweise für Aufrufer
Die ToString() -Methode gibt die Zeichenfolgendarstellung des Datums und der Uhrzeit im Kalender zurück, der von der aktuellen Kultur verwendet wird. Wenn der Wert der aktuellen DateTime Instanz vor oder nach MinSupportedDateTime MaxSupportedDateTime liegt, löst die Methode eine ArgumentOutOfRangeException aus. Dies wird im folgenden Beispiel veranschaulicht. Es wird versucht, ein Datum zu formatieren, das außerhalb des Bereichs der HijriCalendar -Klasse liegt, wenn die aktuelle Kultur Arabisch (Arabisch) ist.
using System;
using System.Globalization;
using System.Threading;
public class Example
{
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