DateTimeOffset.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 DateTimeOffset objektu na ekvivalentní řetězcové vyjádření.
Přetížení
| Name | Description |
|---|---|
| ToString() |
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření. |
| ToString(IFormatProvider) |
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření pomocí zadaných informací o formátování specifické pro jazykovou verzi. |
| ToString(String) |
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření pomocí zadaného formátu. |
| ToString(String, IFormatProvider) |
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření pomocí zadaného formátu a informací o formátu specifickém pro jazykovou verzi. |
ToString()
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření.
public:
override System::String ^ ToString();
public override string ToString();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Návraty
Řetězcové znázornění objektu DateTimeOffset , který zahrnuje posun připojený na konec řetězce.
Výjimky
Datum a čas jsou mimo rozsah kalendářních dat podporovaných kalendářem používaným aktuální jazykovou verzí.
Příklady
Následující příklad znázorňuje volání ToString() metody a zobrazí jeho výstup v systému, jehož aktuální jazyková verze je 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
Poznámky
Návratová hodnota této metody je shodná s DateTime.ToString() hodnotou metody s tím rozdílem, že obsahuje mezeru následovanou posunem připojeným na konec řetězce. Jinými slovy, formátuje výstup pomocí krátkého vzoru data, dlouhého časového vzoru a řetězce vlastního zzz formátu, přičemž každý prvek je oddělený od předchozího prvku mezerou. Pokud DateTime.ToString() například vrátí hodnotu 1.12.2008 15:15:50, ToString() vrátí hodnotu 1.12.2008 6:15:50-08:00 pro čas, který je osm hodin za koordinovaným univerzálním časem (UTC).
Tato metoda používá informace o formátování odvozené z aktuální jazykové verze. Další informace najdete na webu 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 DateTimeOffset 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í DateTimeOffset instance starší nebo novější než MinSupportedDateTimeMaxSupportedDateTime, metoda vyvolá ArgumentOutOfRangeException. Následující příklad obsahuje obrázek. Pokouší se naformá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 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
Platí pro
ToString(IFormatProvider)
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření pomocí zadaných informací o formátování specifické pro jazykovou verzi.
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
Parametry
- formatProvider
- IFormatProvider
Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTimeOffset objektu, jak je určeno formatProvider.
Výjimky
Datum a čas jsou mimo rozsah kalendářních dat podporovaných kalendářem používaným uživatelem formatProvider.
Příklady
Následující příklad zobrazí DateTimeOffset objekt pomocí CultureInfo objektů, které představují invariantní jazykovou verzi, stejně jako čtyři další jazykové verze.
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
Poznámky
Návratová hodnota této metody je stejná jako její ekvivalentní přetížení DateTime.ToString metody s tím rozdílem, že obsahuje mezeru následovanou posunem připojeným na konec řetězce. Jinými slovy, formátuje výstup pomocí krátkého vzoru data, dlouhého časového vzoru a řetězce vlastního zzz formátu, přičemž každý prvek je oddělený od předchozího prvku mezerou.
Formát těchto tří prvků je definován parametrem formatProvider . Parametr formatProvider může být následující:
Objekt CultureInfo , který představuje jazykovou verzi, jejíž konvence formátování jsou použity na vrácený řetězec. 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.
Pokud formatProvider ano null, DateTimeFormatInfo použije se objekt přidružený k aktuální jazykové verzi (viz CurrentCulture).
Poznámky pro volající
Metoda ToString(IFormatProvider) vrátí řetězcovou reprezentaci data a času v kalendáři používaném jazykovou verzí reprezentovanou parametrem formatProvider . Jeho kalendář je definován vlastností Calendar . Pokud je hodnota aktuální DateTimeOffset instance starší nebo novější než MinSupportedDateTimeMaxSupportedDateTime, metoda vyvolá ArgumentOutOfRangeException. Následující příklad obsahuje obrázek. Pokusí se naformá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();
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
Platí pro
ToString(String)
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření pomocí zadaného formátu.
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
Formátovací řetězec.
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTimeOffset objektu, jak je určeno format.
Výjimky
Délka je jedna a není to jeden ze standardních format specifikátorů 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 aktuální jazykovou verzí.
Příklady
Následující příklad zobrazí DateTimeOffset objekt konzoly pomocí každého ze standardních specifikátorů formátu data a času. Výstup je formátován pomocí jazykové verze en-us.
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))
Poznámky
Parametr format by měl obsahovat buď jeden specifikátor 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), který definuje formát vráceného řetězce. Pokud format je null nebo prázdný řetězec (""), DateTimeOffset hodnota je výstupem ve výchozím formátu.
Následující tabulka ukazuje přesnou operaci určitých specifikátorů formátu při použití s DateTimeOffset, které se liší od jejich chování při použití s DateTime.
| Specifikátor existujícího formátu | Nové chování |
|---|---|
| "K" | Určeno pro zpáteční cestu k datu a času. V DateTimeOffsetpřípadě , mapuje na "zzz" (posun se vždy zobrazí s hodinami a minutami). Všimněte si, že "K" je specifikátor vlastního formátu; nemůže být uveden jako jediný znak v formatsouboru . |
| "U" | Nepodporuje se. |
| "r" |
DateTimeOffset Převede objekt na standard UTC (Coordinated Universal Time) a vypíše ho pomocí řetězce ddd, dd MMM yyyy HH:mm:ss GMTvlastního formátu . |
| "u" |
DateTimeOffset Převede objekt na UTC a vypíše ho pomocí formátu yyyy-MM-dd HH:mm:ssZ. |
Zbývající specifikátory standardního formátu data a času se chovají stejně jako ToString(String)ToString u metody.
Tato metoda používá informace o formátování odvozené z aktuální jazykové verze. Další informace najdete na webu CurrentCulture.
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í DateTimeOffset instance starší nebo novější než MinSupportedDateTimeMaxSupportedDateTime, metoda vyvolá ArgumentOutOfRangeException. Následující příklad obsahuje obrázek. Pokouší se naformátovat datum, které je mimo rozsah HebrewCalendar třídy, když aktuální jazyková verze je hebrejština (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
Viz také
Platí pro
ToString(String, IFormatProvider)
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
- Zdroj:
- DateTimeOffset.cs
Převede hodnotu aktuálního DateTimeOffset objektu na ekvivalentní řetězcové vyjádření pomocí zadaného formátu a informací o formátu specifickém pro jazykovou verzi.
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
Parametry
- format
- String
Formátovací řetězec.
- formatProvider
- IFormatProvider
Objekt, který poskytuje informace o formátování specifické pro jazykovou verzi.
Návraty
Řetězcové vyjádření hodnoty aktuálního DateTimeOffset objektu, jak je určeno format a formatProvider.
Implementuje
Výjimky
Délka je jedna a není to jeden ze standardních format specifikátorů 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 uživatelem formatProvider.
Příklady
Následující příklad používá metodu ToString(String, IFormatProvider) k zobrazení objektu DateTimeOffset pomocí vlastního formátovací řetězec pro několik různých jazykových verzí.
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
Poznámky
Parametr format by měl obsahovat buď jeden specifikátor 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 (""), DateTimeOffset objekt je výstupem ve výchozím formátu.
Následující tabulka ukazuje přesnou operaci určitých specifikátorů formátu při použití s DateTimeOffset, které se liší od jejich chování při použití s DateTime.
| Specifikátor existujícího formátu | Nové chování |
|---|---|
| "K" | Určeno pro zpáteční cestu k datu a času. V DateTimeOffsetpřípadě , mapuje na "zzz" (posun se vždy zobrazí s hodinami a minutami). Všimněte si, že "K" je specifikátor vlastního formátu; nemůže být uveden jako jediný znak v formatsouboru . |
| "U" | Nepodporuje se. |
| "r" |
DateTimeOffset Převede objekt na standard UTC (Coordinated Universal Time) a vypíše ho pomocí řetězce ddd, dd MMM yyyy HH:mm:ss GMTvlastního formátu . |
| "u" |
DateTimeOffset Převede hodnotu na UTC a vypíše ji pomocí formátu yyyy-MM-dd HH:mm:ssZ. |
Zbývající specifikátory standardního formátu data a času se chovají stejně jako ToString(String)ToString u metody.
Vzor, který odpovídá standardním specifikátorům formátu a symbolům a názvům součástí data a času, je definován parametrem formatProvider . Parametr formatProvider může být následující:
Objekt CultureInfo , který představuje jazykovou verzi, jejíž formátování je použito v
input. Objekt DateTimeFormatInfo vrácený CultureInfo.DateTimeFormat vlastností definuje formátování použité vinput.Objekt DateTimeFormatInfo , který definuje formát dat data a času.
Pokud formatProvider ano null, DateTimeFormatInfo použije se objekt přidružený k aktuální jazykové verzi (viz 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 formatProvider . Jeho kalendář je definován vlastností Calendar . Pokud je hodnota aktuální DateTimeOffset instance starší nebo novější než MinSupportedDateTimeMaxSupportedDateTime, metoda vyvolá ArgumentOutOfRangeException. Následující příklad obsahuje obrázek. Pokusí se naformátovat datum, které je mimo rozsah UmAlQuraCalendar třídy.
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
Viz také
- Řetězce standardního formátu data a času
- Řetězce vlastního formátu data a času
- Ukázka: Nástroj pro formátování .NET Core WinForms (C#)
- Ukázka: .NET Core WinForms Formatting Utility (Visual Basic)