DateTimeOffset.ToString Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az aktuális DateTimeOffset objektum értékét a megfelelő sztring-ábrázolásúvá alakítja.
Túlterhelések
| Name | Description |
|---|---|
| ToString() |
Az aktuális DateTimeOffset objektum értékét a megfelelő sztring-ábrázolásúvá alakítja. |
| ToString(IFormatProvider) |
Az aktuális DateTimeOffset objektum értékét a megadott kultúraspecifikus formázási információk használatával konvertálja a megfelelő sztringre. |
| ToString(String) |
Az aktuális DateTimeOffset objektum értékét a megadott formátummal egyenértékű sztring-ábrázolásúvá alakítja. |
| ToString(String, IFormatProvider) |
Az aktuális DateTimeOffset objektum értékét a megadott formátum- és kultúraspecifikus formátumadatok használatával konvertálja az azzal egyenértékű sztringre. |
ToString()
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
Az aktuális DateTimeOffset objektum értékét a megfelelő sztring-ábrázolásúvá alakítja.
public:
override System::String ^ ToString();
public override string ToString();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Válaszok
Egy objektum sztringábrázolása DateTimeOffset , amely tartalmazza a sztring végén hozzáfűzött eltolást.
Kivételek
A dátum és az idő kívül esik az aktuális kultúra által használt naptár által támogatott dátumtartományon.
Példák
Az alábbi példa a ToString() metódus hívásait szemlélteti, és megjeleníti a kimenetét egy olyan rendszeren, amelynek jelenlegi kultúrája en-us.
DateTimeOffset thisDate;
// Show output for UTC time
thisDate = DateTimeOffset.UtcNow;
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 7:13:50 PM +00:00
// Show output for local time
thisDate = DateTimeOffset.Now;
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 12:13:50 PM -07:00
// Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0));
Console.WriteLine(thisDate.ToString()); // Displays 3/28/2007 2:13:50 PM -05:00
// Show output for UTC time
let thisDate = DateTimeOffset.UtcNow
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 7:13:50 PM +00:00
// Show output for local time
let thisDate = DateTimeOffset.Now
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 12:13:50 PM -07:00
// Show output for arbitrary time offset
let thisDate = thisDate.ToOffset(TimeSpan(-5, 0, 0))
printfn $"{thisDate.ToString()}" // Displays 3/28/2007 2:13:50 PM -05:00
Dim thisDate As DateTimeOffset
' Show output for UTC time
thisDate = DateTimeOffset.UtcNow
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 7:13:50 PM +00:00
' Show output for local time
thisDate = DateTimeOffset.Now
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 12:13:50 PM -07:00
' Show output for arbitrary time offset
thisDate = thisDate.ToOffset(new TimeSpan(-5, 0, 0))
Console.WriteLine(thisDate.ToString()) ' Displays 3/28/2007 2:13:50 PM -05:00
Megjegyzések
Ennek a metódusnak a visszatérési értéke megegyezik a metódus értékével, azzal a DateTime.ToString() kivételrel, hogy egy szóközt tartalmaz, amelyet a sztring végén hozzáfűzött eltolás követ. Más szóval a kimenetet a rövid dátumminta, a hosszú időminta és az zzz egyéni formázási sztring használatával formázza, az egyes elemeket szóköz választja el az előző elemtől. Ha például DateTime.ToString() 2008.01.12., 18:15:50 értéket ad vissza, ToString() akkor 2008.01.12., 18:15:50 -08:00 értéket ad vissza egy olyan időpontra, amely nyolc órával elmarad az egyezményes világidőtől (UTC).
Ez a metódus az aktuális kultúrából származó formázási információkat használja. További információért lásd CurrentCulture. A metódus egyéb túlterhelései ToString lehetővé teszik annak a kultúrának a megadását, amelynek formázását használni szeretné, és meghatározhatja az DateTimeOffset érték kimeneti mintáját.
Megjegyzések a hívókhoz
A ToString() metódus az aktuális kultúra által használt naptár dátumának és időpontjának sztring-ábrázolását adja vissza. Ha az aktuális DateTimeOffset példány értéke korábbi vagy későbbi, akkor MinSupportedDateTimeMaxSupportedDateTimea metódus egy ArgumentOutOfRangeException. Az alábbi példa egy illusztrációt tartalmaz. Olyan dátumot próbál formázni, amely az osztály tartományán HijriCalendar kívül esik, amikor a jelenlegi kultúra arab (Szíria).
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
DateTimeOffset date1 = new DateTimeOffset(new DateTime(550, 1, 1),
TimeSpan.Zero);
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 = DateTimeOffset(DateTime(550, 1, 1), TimeSpan.Zero)
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 New DateTimeOffset(#1/1/550#, TimeSpan.Zero)
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:d} or later than {2:d}", _
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
A következőre érvényes:
ToString(IFormatProvider)
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
Az aktuális DateTimeOffset objektum értékét a megadott kultúraspecifikus formázási információk használatával konvertálja a megfelelő sztringre.
public:
System::String ^ ToString(IFormatProvider ^ formatProvider);
public string ToString(IFormatProvider formatProvider);
public string ToString(IFormatProvider? formatProvider);
override this.ToString : IFormatProvider -> string
Public Function ToString (formatProvider As IFormatProvider) As String
Paraméterek
- formatProvider
- IFormatProvider
Egy objektum, amely kultúraspecifikus formázási információkat tartalmaz.
Válaszok
Az aktuális DateTimeOffset objektum értékének sztringábrázolása, a megadott módon formatProvider.
Kivételek
A dátum és az idő kívül esik a naptár formatProvideráltal támogatott dátumtartományon.
Példák
Az alábbi példa egy DateTimeOffset objektumot CultureInfo jelenít meg az invariáns kultúrát jelképező objektumokkal, valamint négy másik kultúrával.
CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
new CultureInfo("en-us"),
new CultureInfo("fr-fr"),
new CultureInfo("de-DE"),
new CultureInfo("es-ES")};
DateTimeOffset thisDate = new DateTimeOffset(2007, 5, 1, 9, 0, 0,
TimeSpan.Zero);
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/2007 09:00:00 +00:00
// In en-US, 5/1/2007 9:00:00 AM +00:00
// In fr-FR, 01/05/2007 09:00:00 +00:00
// In de-DE, 01.05.2007 09:00:00 +00:00
// In es-ES, 01/05/2007 9:00:00 +00:00
let cultures =
[| CultureInfo.InvariantCulture
CultureInfo "en-us"
CultureInfo "fr-fr"
CultureInfo "de-DE"
CultureInfo "es-ES" |]
let thisDate = DateTimeOffset(2007, 5, 1, 9, 0, 0, TimeSpan.Zero)
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/2007 09:00:00 +00:00
// In en-US, 5/1/2007 9:00:00 AM +00:00
// In fr-FR, 01/05/2007 09:00:00 +00:00
// In de-DE, 01.05.2007 09:00:00 +00:00
// In es-ES, 01/05/2007 9:00:00 +00:00
Dim cultures() As CultureInfo = {CultureInfo.InvariantCulture, _
New CultureInfo("en-us"), _
New CultureInfo("fr-fr"), _
New CultureInfo("de-DE"), _
New CultureInfo("es-ES")}
Dim thisDate As New DateTimeOffset(#5/1/2007 9:00AM#, TimeSpan.Zero)
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
' The example produces the following output:
' In Invariant Language (Invariant Country), 05/01/2007 09:00:00 +00:00
' In en-US, 5/1/2007 9:00:00 AM +00:00
' In fr-FR, 01/05/2007 09:00:00 +00:00
' In de-DE, 01.05.2007 09:00:00 +00:00
' In es-ES, 01/05/2007 9:00:00 +00:00
Megjegyzések
Ennek a metódusnak a visszatérési értéke megegyezik a DateTime.ToString metódus egyenértékű túlterhelésével, azzal a különbséggel, hogy egy szóközt tartalmaz, amelyet a sztring végén hozzáfűzött eltolás követ. Más szóval a kimenetet a rövid dátumminta, a hosszú időminta és az zzz egyéni formázási sztring használatával formázza, az egyes elemeket szóköz választja el az előző elemtől.
A három elem formátumát a formatProvider paraméter határozza meg. A formatProvider paraméter a következők egyike lehet:
Olyan CultureInfo objektum, amely azt a kultúrát jelöli, amelynek formázási konvencióit a visszaadott sztringre alkalmazza a rendszer. Az a DateTimeFormatInfo objektum, amelyet a CultureInfo.DateTimeFormat tulajdonság ad vissza, határozza meg a visszaadott sztring formázását.
A DateTimeFormatInfo dátum- és időadatok formátumát meghatározó objektum.
Ha formatProvider igen null, akkor a rendszer az DateTimeFormatInfo aktuális kultúrához társított objektumot használja (lásd CurrentCulture).
Megjegyzések a hívókhoz
A ToString(IFormatProvider) metódus a paraméter által formatProvider képviselt kultúra által használt naptár dátumának és időpontjának sztring-ábrázolását adja vissza. Naptárát a Calendar tulajdonság határozza meg. Ha az aktuális DateTimeOffset példány értéke korábbi vagy későbbi, akkor MinSupportedDateTimeMaxSupportedDateTimea metódus egy ArgumentOutOfRangeException. Az alábbi példa egy illusztrációt tartalmaz. Olyan dátumot próbál formázni, amely kívül esik az JapaneseCalendar osztály tartományán.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo jaJP = new CultureInfo("ja-JP");
jaJP.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1867, 1, 1),
TimeSpan.Zero);
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 = DateTimeOffset(DateTime(1867, 1, 1), TimeSpan.Zero)
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 New DateTimeOffset(#01/01/1867#, TimeSpan.Zero)
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
A következőre érvényes:
ToString(String)
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
Az aktuális DateTimeOffset objektum értékét a megadott formátummal egyenértékű sztring-ábrázolásúvá alakítja.
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
Paraméterek
- format
- String
Formátumsztring.
Válaszok
Az aktuális DateTimeOffset objektum értékének sztringábrázolása, a megadott módon format.
Kivételek
A hossz format egy, és nem tartozik a szabványos formátumkijelölő karakterek DateTimeFormatInfoközé.
-vagy-
format nem tartalmaz érvényes egyéni formátummintát.
A dátum és az idő kívül esik az aktuális kultúra által használt naptár által támogatott dátumtartományon.
Példák
Az alábbi példa egy DateTimeOffset objektumot jelenít meg a konzolon a szabványos dátum- és időformátum-meghatározók használatával. A kimenet a en-us kultúra használatával van formázva.
DateTimeOffset outputDate = new DateTimeOffset(2007, 10, 31, 21, 0, 0,
new TimeSpan(-8, 0, 0));
string specifier;
// Output date using each standard date/time format specifier
specifier = "d";
// Displays d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "D";
// Displays D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "t";
// Displays t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "T";
// Displays T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "f";
// Displays f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "F";
// Displays F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "g";
// Displays g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "G";
// Displays G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "M"; // 'm' is identical
// Displays M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "R"; // 'r' is identical
// Displays R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "s";
// Displays s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
specifier = "u";
// Displays u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
// Specifier is not supported
specifier = "U";
try
{
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
}
catch (FormatException)
{
Console.WriteLine("{0}: Not supported.", specifier);
}
specifier = "Y"; // 'y' is identical
// Displays Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier));
let outputDate = DateTimeOffset(2007, 10, 31, 21, 0, 0, TimeSpan(-8, 0, 0))
// Output date using each standard date/time format specifier
let specifier = "d"
// Displays d: 10/31/2007
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "D"
// Displays D: Wednesday, October 31, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "t"
// Displays t: 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "T"
// Displays T: 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "f"
// Displays f: Wednesday, October 31, 2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "F"
// Displays F: Wednesday, October 31, 2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "g"
// Displays g: 10/31/2007 9:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "G"
// Displays G: 10/31/2007 9:00:00 PM
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "M" // 'm' is identical
// Displays M: October 31
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "R" // 'r' is identical
// Displays R: Thu, 01 Nov 2007 05:00:00 GMT
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "s"
// Displays s: 2007-10-31T21:00:00
printfn $"{specifier}: {outputDate.ToString specifier}"
let specifier = "u"
// Displays u: 2007-11-01 05:00:00Z
printfn $"{specifier}: {outputDate.ToString specifier}"
// Specifier is not supported
let specifier = "U"
try
printfn $"{specifier}: {outputDate.ToString specifier}"
with :? FormatException ->
printfn $"{specifier}: Not supported."
let specifier = "Y" // 'y' is identical
// Displays Y: October, 2007
printfn $"{specifier}: {outputDate.ToString specifier}"
Dim outputDate As New DateTimeOffset(#10/31/2007 9:00PM#, _
New TimeSpan(-8, 0, 0))
Dim specifier As String
' Output date using each standard date/time format specifier
specifier = "d"
' Displays d: 10/31/2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "D"
' Displays D: Wednesday, October 31, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "t"
' Displays t: 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "T"
' Displays T: 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "f"
' Displays f: Wednesday, October 31, 2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "F"
' Displays F: Wednesday, October 31, 2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "g"
' Displays g: 10/31/2007 9:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "G"
' Displays G: 10/31/2007 9:00:00 PM
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "M" ' 'm' is identical
' Displays M: October 31
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "R" ' 'r' is identical
' Displays R: Thu, 01 Nov 2007 05:00:00 GMT
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "s"
' Displays s: 2007-10-31T21:00:00
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
specifier = "u"
' Displays u: 2007-11-01 05:00:00Z
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
' Specifier is not supported
specifier = "U"
Try
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
Catch e As FormatException
Console.WriteLine("{0}: Not supported.", specifier)
End Try
specifier = "Y" ' 'y' is identical
' Displays Y: October, 2007
Console.WriteLine("{0}: {1}", specifier, outputDate.ToString(specifier))
Megjegyzések
A format paraméternek egyetlen formátumkijelölő karaktert kell tartalmaznia (lásd : Standard dátum- és időformátum sztringek), vagy egy egyéni formátummintát (lásd : Egyéni dátum- és időformátum sztringek), amely meghatározza a visszaadott sztring formátumát. Ha format null vagy üres sztring (""), az DateTimeOffset érték az alapértelmezett formátumot használja.
Az alábbi táblázat az egyes formátumjelölők pontos működését mutatja be, amelyek DateTimeOffsethasználata esetén eltér a használatuktól DateTime.
| Meglévő formátumkijelölő | Új viselkedés |
|---|---|
| "K" | Úgy tervezték, hogy oda-vissza egy dátumot és időpontot. A DateTimeOffset"zzz" értékre van leképezve (az eltolás mindig órákkal és percekkel jelenik meg). Vegye figyelembe, hogy a "K" egy egyéni formátumkijelölő; nem jelenhet meg egyetlen karakterként a következőben format: . |
| "U" | Nem támogatott. |
| "r" | Átalakítja az DateTimeOffset objektumot utc (UTC) időpontra, és az egyéni formátumsztring ddd, dd MMM yyyy HH:mm:ss GMThasználatával alakítja ki. |
| u | Átalakítja az DateTimeOffset objektumot UTC-vé, és a formátummal yyyy-MM-dd HH:mm:ssZalakítja ki. |
A többi szabványos dátum- és időformátum-meghatározó ugyanúgy viselkedik a ToString(String) metódussal, mint a ToString metódussal.
Ez a metódus az aktuális kultúrából származó formázási információkat használja. További információért lásd CurrentCulture.
Megjegyzések a hívókhoz
A ToString(String) metódus az aktuális kultúra által használt naptár dátumának és időpontjának sztring-ábrázolását adja vissza. Ha az aktuális DateTimeOffset példány értéke korábbi vagy későbbi, akkor MinSupportedDateTimeMaxSupportedDateTimea metódus egy ArgumentOutOfRangeException. Az alábbi példa egy illusztrációt tartalmaz. Olyan dátumot próbál formázni, amely kívül esik az HebrewCalendar osztály tartományán, amikor a jelenlegi kultúra héber (Izrael).
using System;
using System.Globalization;
using System.Threading;
public class Example
{
public static void Main()
{
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1550, 7, 21),
TimeSpan.Zero);
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 = DateTimeOffset(DateTime(1550, 7, 21), TimeSpan.Zero)
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 New DateTimeOffset(#7/21/1550#, TimeSpan.Zero)
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
Lásd még
A következőre érvényes:
ToString(String, IFormatProvider)
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
- Forrás:
- DateTimeOffset.cs
Az aktuális DateTimeOffset objektum értékét a megadott formátum- és kultúraspecifikus formátumadatok használatával konvertálja az azzal egyenértékű sztringre.
public:
virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ formatProvider);
public string ToString(string format, IFormatProvider formatProvider);
public string ToString(string? format, IFormatProvider? formatProvider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, formatProvider As IFormatProvider) As String
Paraméterek
- format
- String
Formátumsztring.
- formatProvider
- IFormatProvider
Egy objektum, amely kultúraspecifikus formázási információkat tartalmaz.
Válaszok
Az aktuális DateTimeOffset objektum értékének sztringábrázolása az és formataz általuk megadott módonformatProvider.
Megvalósítás
Kivételek
A hossz format egy, és nem tartozik a szabványos formátumkijelölő karakterek DateTimeFormatInfoközé.
-vagy-
format nem tartalmaz érvényes egyéni formátummintát.
A dátum és az idő kívül esik a naptár formatProvideráltal támogatott dátumtartományon.
Példák
Az alábbi példa a ToString(String, IFormatProvider) metódus használatával jelenít meg egy DateTimeOffset objektumot egy egyéni formátumsztring használatával több különböző kultúrához.
DateTimeOffset outputDate = new DateTimeOffset(2007, 11, 1, 9, 0, 0,
new TimeSpan(-7, 0, 0));
string format = "dddd, MMM dd yyyy HH:mm:ss zzz";
// Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, null as DateTimeFormatInfo));
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture));
Console.WriteLine(outputDate.ToString(format,
new CultureInfo("fr-FR")));
Console.WriteLine(outputDate.ToString(format,
new CultureInfo("es-ES")));
// The example displays the following output to the console:
// Thursday, Nov 01 2007 09:00:00 -07:00
// Thursday, Nov 01 2007 09:00:00 -07:00
// jeudi, nov. 01 2007 09:00:00 -07:00
// jueves, nov 01 2007 09:00:00 -07:00
let outputDate = DateTimeOffset(2007, 11, 1, 9, 0, 0, TimeSpan(-7, 0, 0))
let format = "dddd, MMM dd yyyy HH:mm:ss zzz"
// Output date and time using custom format specification
printfn $"{outputDate.ToString(format, null)}"
printfn $"{outputDate.ToString(format, CultureInfo.InvariantCulture)}"
printfn $"""{outputDate.ToString(format, CultureInfo "fr-FR")}"""
printfn $"""{outputDate.ToString(format, CultureInfo "es-ES")}"""
// The example displays the following output to the console:
// Thursday, Nov 01 2007 09:00:00 -07:00
// Thursday, Nov 01 2007 09:00:00 -07:00
// jeudi, nov. 01 2007 09:00:00 -07:00
// jueves, nov 01 2007 09:00:00 -07:00
Dim outputDate As New DateTimeOffset(#11/1/2007 9:00AM#, _
New TimeSpan(-7, 0, 0))
Dim format As String = "dddd, MMM dd yyyy HH:mm:ss zzz"
' Output date and time using custom format specification
Console.WriteLine(outputDate.ToString(format, Nothing))
Console.WriteLine(outputDate.ToString(format, CultureInfo.InvariantCulture))
Console.WriteLine(outputDate.ToString(format, _
New CultureInfo("fr-FR")))
Console.WriteLine(outputDate.ToString(format, _
New CultureInfo("es-ES")))
' The example displays the following output to the console:
' Thursday, Nov 01 2007 09:00:00 -07:00
' Thursday, Nov 01 2007 09:00:00 -07:00
' jeudi, nov. 01 2007 09:00:00 -07:00
' jueves, nov 01 2007 09:00:00 -07:00
Megjegyzések
A format paraméternek egyetlen formátumkijelölő karaktert (lásd : Standard dátum- és időformátum sztringek) vagy egyéni formátummintát kell tartalmaznia (lásd : Egyéni dátum- és időformátum sztringek). Ha format null vagy üres sztring (""), az DateTimeOffset objektum az alapértelmezett formátumot használja.
Az alábbi táblázat az egyes formátumjelölők pontos működését mutatja be, amelyek DateTimeOffsethasználata esetén eltér a használatuktól DateTime.
| Meglévő formátumkijelölő | Új viselkedés |
|---|---|
| "K" | Úgy tervezték, hogy oda-vissza egy dátumot és időpontot. A DateTimeOffset"zzz" értékre van leképezve (az eltolás mindig órákkal és percekkel jelenik meg). Vegye figyelembe, hogy a "K" egy egyéni formátumkijelölő; nem jelenhet meg egyetlen karakterként a következőben format: . |
| "U" | Nem támogatott. |
| "r" | Átalakítja az DateTimeOffset objektumot utc (UTC) időpontra, és az egyéni formátumsztring ddd, dd MMM yyyy HH:mm:ss GMThasználatával alakítja ki. |
| u |
DateTimeOffset Az értéket UTC-vé alakítja, és a formátummal yyyy-MM-dd HH:mm:ssZadja ki. |
A többi szabványos dátum- és időformátum-meghatározó ugyanúgy viselkedik a ToString(String) metódussal, mint a ToString metódussal.
A szabványos formátumjelölőknek, valamint a dátum- és időösszetevők szimbólumainak és nevének megfelelő mintát a formatProvider paraméter határozza meg. A formatProvider paraméter a következők egyike lehet:
Olyan CultureInfo objektum, amely azt a kultúrát jelöli, amelyben a formázást használják
input. A DateTimeFormatInfo tulajdonság által meghatározott CultureInfo.DateTimeFormat objektum határozza meg ainputhasznált formázást.A DateTimeFormatInfo dátum- és időadatok formátumát meghatározó objektum.
Ha formatProvider igen null, akkor a rendszer az DateTimeFormatInfo aktuális kultúrához társított objektumot használja (lásd CurrentCulture).
Megjegyzések a hívókhoz
A ToString(String, IFormatProvider) metódus a paraméter által formatProvider használt naptár dátumának és időpontjának sztring-ábrázolását adja vissza. Naptárát a Calendar tulajdonság határozza meg. Ha az aktuális DateTimeOffset példány értéke korábbi vagy későbbi, akkor MinSupportedDateTimeMaxSupportedDateTimea metódus egy ArgumentOutOfRangeException. Az alábbi példa egy illusztrációt tartalmaz. Olyan dátumot próbál formázni, amely kívül esik az UmAlQuraCalendar osztály tartományán.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo arSA = new CultureInfo("ar-SA");
arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
DateTimeOffset date1 = new DateTimeOffset(new DateTime(1890, 9, 10),
TimeSpan.Zero);
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 = DateTimeOffset(DateTime(1890, 9, 10), TimeSpan.Zero)
try
printfn $"""{date1.ToString("d", arSA)}"""
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 11/16/2077
Imports System.Globalization
Module Example
Public Sub Main()
Dim arSA As New CultureInfo("ar-SA")
arSA.DateTimeFormat.Calendar = New UmAlQuraCalendar()
Dim date1 As New DateTimeOffset(#09/10/1890#, TimeSpan.Zero)
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
Lásd még
- Szabványos dátum- és időformátum-karakterláncok
- Egyéni dátum- és időformátum-karakterláncok
- minta: .NET Core WinForms Formatting Utility (C#)
- minta: .NET Core WinForms Formatting Utility (Visual Basic)