DateTimeOffset.ToString Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente.
Overload
ToString() |
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente. |
ToString(IFormatProvider) |
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate. |
ToString(String) |
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente utilizzando il formato specificato. |
ToString(String, IFormatProvider) |
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente utilizzando il formato specificato e le informazioni sul formato specifiche delle impostazioni cultura. |
ToString()
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente.
public:
override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Restituisce
Rappresentazione di stringa di un oggetto DateTimeOffset che include l'offset accodato alla fine della stringa.
Eccezioni
La data e l'ora non rientrano nell'intervallo di date supportate dal calendario utilizzato dalle impostazioni cultura correnti.
Esempio
Nell'esempio seguente vengono illustrate le chiamate al metodo ToString() e ne viene visualizzato l'output in un sistema le cui impostazioni cultura correnti sono 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
Commenti
Il valore restituito di questo metodo è identico a quello del metodo DateTime.ToString(), ad eccezione del fatto che include uno spazio seguito dall'offset accodato alla fine della stringa. In altre parole, formatta l'output usando il modello di data breve, il modello di tempo lungo e la stringa di formato personalizzata zzz
, con ogni elemento separato dall'elemento precedente da uno spazio. Ad esempio, se DateTime.ToString() restituisce un valore 1/12/2008 6:15:50 PM, ToString() restituisce un valore 1/12/2008 6:15:50 PM -08:00 per un'ora che è otto ore dietro l'ora UTC (Coordinated Universal Time).
Questo metodo usa le informazioni di formattazione derivate dalle impostazioni cultura correnti. Per altre informazioni, vedere CurrentCulture. Altri overload del metodo ToString consentono di specificare le impostazioni cultura di cui usare la formattazione e di definire il modello di output del valore DateTimeOffset.
Note per i chiamanti
Il metodo ToString() restituisce la rappresentazione di stringa della data e dell'ora nel calendario utilizzato dalle impostazioni cultura correnti. Se il valore dell'istanza di DateTimeOffset corrente è precedente a MinSupportedDateTime o versioni successive a MaxSupportedDateTime, il metodo genera un ArgumentOutOfRangeException. Nell'esempio seguente viene fornita un'illustrazione. Tenta di formattare una data che non rientra nell'intervallo della classe HijriCalendar quando le impostazioni cultura correnti sono arabe (Siria).
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
Si applica a
ToString(IFormatProvider)
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente utilizzando le informazioni di formattazione specifiche delle impostazioni cultura specificate.
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
Parametri
- formatProvider
- IFormatProvider
Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.
Restituisce
Rappresentazione di stringa del valore dell'oggetto DateTimeOffset corrente, come specificato da formatProvider
.
Eccezioni
La data e l'ora non rientrano nell'intervallo di date supportate dal calendario utilizzato da formatProvider
.
Esempio
Nell'esempio seguente viene visualizzato un oggetto DateTimeOffset utilizzando CultureInfo oggetti che rappresentano le impostazioni cultura invarianti, nonché quattro altre impostazioni cultura.
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
Commenti
Il valore restituito di questo metodo è identico a quello dell'overload equivalente del metodo DateTime.ToString, ad eccezione del fatto che include uno spazio seguito dall'offset accodato alla fine della stringa. In altre parole, formatta l'output usando il modello di data breve, il modello di tempo lungo e la stringa di formato personalizzata zzz
, con ogni elemento separato dall'elemento precedente da uno spazio.
Il formato di questi tre elementi è definito dal parametro formatProvider
. Il parametro formatProvider
può essere uno dei seguenti:
Oggetto CultureInfo che rappresenta le impostazioni cultura le cui convenzioni di formattazione vengono applicate alla stringa restituita. L'oggetto DateTimeFormatInfo restituito dalla proprietà CultureInfo.DateTimeFormat definisce la formattazione della stringa restituita.
Oggetto DateTimeFormatInfo che definisce il formato dei dati di data e ora.
Se formatProvider
è null
, viene usato l'oggetto DateTimeFormatInfo associato alle impostazioni cultura correnti (vedere CurrentCulture).
Note per i chiamanti
Il metodo ToString(IFormatProvider) restituisce la rappresentazione di stringa della data e dell'ora nel calendario utilizzato dalle impostazioni cultura rappresentate dal parametro formatProvider
. Il calendario è definito dalla proprietà Calendar. Se il valore dell'istanza di DateTimeOffset corrente è precedente a MinSupportedDateTime o versioni successive a MaxSupportedDateTime, il metodo genera un ArgumentOutOfRangeException. Nell'esempio seguente viene fornita un'illustrazione. Tenta di formattare una data esterna all'intervallo della classe JapaneseCalendar.
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
Si applica a
ToString(String)
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente utilizzando il formato specificato.
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
Parametri
- format
- String
Stringa di formato.
Restituisce
Rappresentazione di stringa del valore dell'oggetto DateTimeOffset corrente, come specificato da format
.
Eccezioni
La lunghezza di format
è una e non è uno dei caratteri dell'identificatore di formato standard definiti per DateTimeFormatInfo.
-o-
format
non contiene un modello di formato personalizzato valido.
La data e l'ora non rientrano nell'intervallo di date supportate dal calendario utilizzato dalle impostazioni cultura correnti.
Esempio
Nell'esempio seguente viene visualizzato un oggetto DateTimeOffset nella console usando ognuno degli identificatori di formato di data e ora standard. L'output viene formattato usando le impostazioni cultura di 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))
Commenti
Il parametro format
deve contenere un singolo carattere di identificatore di formato (vedere stringhe di formato data e ora standard) o un modello di formato personalizzato (vedere stringhe di formato di data e ora personalizzate) che definisce il formato della stringa restituita. Se format
è una stringa null o vuota (""), il valore DateTimeOffset viene restituito usando il formato predefinito.
La tabella seguente illustra l'operazione esatta di determinati identificatori di formato quando vengono usati con DateTimeOffset, che differisce dal comportamento quando viene usato con DateTime.
Identificatore di formato esistente | Nuovo comportamento |
---|---|
"K" | Progettato per il round trip di una data e un'ora. Con DateTimeOffset, esegue il mapping a "zzz" (l'offset viene sempre visualizzato con ore e minuti). Si noti che "K" è un identificatore di formato personalizzato; non può essere visualizzato come singolo carattere in format . |
"U" | Non supportato. |
"r" | Converte l'oggetto DateTimeOffset in utc (Coordinated Universal Time) e lo restituisce usando la stringa di formato personalizzata ddd, dd MMM yyyy HH:mm:ss GMT . |
"u" | Converte l'oggetto DateTimeOffset in formato UTC e lo restituisce usando il formato yyyy-MM-dd HH:mm:ssZ . |
Gli identificatori di formato di data e ora standard rimanenti si comportano allo stesso modo con il metodo ToString(String) come fanno con il metodo ToString.
Questo metodo usa le informazioni di formattazione derivate dalle impostazioni cultura correnti. Per altre informazioni, vedere CurrentCulture.
Note per i chiamanti
Il metodo ToString(String) restituisce la rappresentazione di stringa della data e dell'ora nel calendario utilizzato dalle impostazioni cultura correnti. Se il valore dell'istanza di DateTimeOffset corrente è precedente a MinSupportedDateTime o versioni successive a MaxSupportedDateTime, il metodo genera un ArgumentOutOfRangeException. Nell'esempio seguente viene fornita un'illustrazione. Tenta di formattare una data che non rientra nell'intervallo della classe HebrewCalendar quando le impostazioni cultura correnti sono ebraico (Israele).
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
Vedi anche
Si applica a
ToString(String, IFormatProvider)
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
- Origine:
- DateTimeOffset.cs
Converte il valore dell'oggetto DateTimeOffset corrente nella rappresentazione di stringa equivalente utilizzando il formato specificato e le informazioni sul formato specifiche delle impostazioni cultura.
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
Parametri
- format
- String
Stringa di formato.
- formatProvider
- IFormatProvider
Oggetto che fornisce informazioni di formattazione specifiche delle impostazioni cultura.
Restituisce
Rappresentazione di stringa del valore dell'oggetto DateTimeOffset corrente, come specificato da format
e formatProvider
.
Implementazioni
Eccezioni
La lunghezza di format
è una e non è uno dei caratteri dell'identificatore di formato standard definiti per DateTimeFormatInfo.
-o-
format
non contiene un modello di formato personalizzato valido.
La data e l'ora non rientrano nell'intervallo di date supportate dal calendario utilizzato da formatProvider
.
Esempio
Nell'esempio seguente viene utilizzato il metodo ToString(String, IFormatProvider) per visualizzare un oggetto DateTimeOffset utilizzando una stringa di formato personalizzata per diverse impostazioni cultura.
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
Commenti
Il parametro format
deve contenere un singolo carattere di identificatore di formato (vedere stringhe di formato di data e ora standard) o un modello di formato personalizzato (vedere stringhe di formato di data e ora personalizzate). Se format
è una stringa null o vuota (""), l'oggetto DateTimeOffset viene restituito usando il formato predefinito.
La tabella seguente illustra l'operazione esatta di determinati identificatori di formato quando vengono usati con DateTimeOffset, che differisce dal comportamento quando viene usato con DateTime.
Identificatore di formato esistente | Nuovo comportamento |
---|---|
"K" | Progettato per il round trip di una data e un'ora. Con DateTimeOffset, esegue il mapping a "zzz" (l'offset viene sempre visualizzato con ore e minuti). Si noti che "K" è un identificatore di formato personalizzato; non può essere visualizzato come singolo carattere in format . |
"U" | Non supportato. |
"r" | Converte l'oggetto DateTimeOffset in utc (Coordinated Universal Time) e lo restituisce usando la stringa di formato personalizzata ddd, dd MMM yyyy HH:mm:ss GMT . |
"u" | Converte il valore DateTimeOffset in formato UTC e lo restituisce usando il formato yyyy-MM-dd HH:mm:ssZ . |
Gli identificatori di formato di data e ora standard rimanenti si comportano allo stesso modo con il metodo ToString(String) come fanno con il metodo ToString.
Il modello che corrisponde agli identificatori di formato standard, nonché ai simboli e ai nomi dei componenti di data e ora, viene definito dal parametro formatProvider
. Il parametro formatProvider
può essere uno dei seguenti:
Oggetto CultureInfo che rappresenta le impostazioni cultura di cui viene utilizzata la formattazione in
input
. L'oggetto DateTimeFormatInfo restituito dalla proprietà CultureInfo.DateTimeFormat definisce la formattazione utilizzata ininput
.Oggetto DateTimeFormatInfo che definisce il formato dei dati di data e ora.
Se formatProvider
è null
, viene usato l'oggetto DateTimeFormatInfo associato alle impostazioni cultura correnti (vedere CurrentCulture).
Note per i chiamanti
Il metodo ToString(String, IFormatProvider) restituisce la rappresentazione di stringa della data e dell'ora nel calendario utilizzato dal parametro formatProvider
. Il calendario è definito dalla proprietà Calendar. Se il valore dell'istanza di DateTimeOffset corrente è precedente a MinSupportedDateTime o versioni successive a MaxSupportedDateTime, il metodo genera un ArgumentOutOfRangeException. Nell'esempio seguente viene fornita un'illustrazione. Tenta di formattare una data esterna all'intervallo della classe UmAlQuraCalendar.
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
Vedi anche
- stringhe di formato data e ora standard
- stringhe di formato di data e ora personalizzate
- esempio : Utilità di formattazione WinForms .NET Core (C#)
- esempio : Utilità di formattazione WinForms .NET Core (Visual Basic)