DateTimeOffset.ToString Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente.
Sobrecargas
| Nombre | Description |
|---|---|
| ToString() |
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente. |
| ToString(IFormatProvider) |
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente mediante la información de formato específica de la referencia cultural especificada. |
| ToString(String) |
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente mediante el formato especificado. |
| ToString(String, IFormatProvider) |
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente mediante el formato especificado y la información de formato específica de la referencia cultural. |
ToString()
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente.
public:
override System::String ^ ToString();
public override string ToString();
override this.ToString : unit -> string
Public Overrides Function ToString () As String
Devoluciones
Representación de cadena de un DateTimeOffset objeto que incluye el desplazamiento anexado al final de la cadena.
Excepciones
La fecha y hora están fuera del intervalo de fechas compatibles con el calendario utilizado por la referencia cultural actual.
Ejemplos
En el ejemplo siguiente se muestran las llamadas al ToString() método y se muestra su salida en un sistema cuya referencia cultural actual es 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
Comentarios
El valor devuelto de este método es idéntico al del DateTime.ToString() método, salvo que incluye un espacio seguido del desplazamiento anexado al final de la cadena. En otras palabras, da formato a la salida mediante el patrón de fecha corta, el patrón de tiempo largo y la zzz cadena de formato personalizado, con cada elemento separado del elemento anterior por un espacio. Por ejemplo, si DateTime.ToString() devuelve un valor de 1/12/2008 6:15:50 PM, ToString() devuelve un valor de 1/12/2008 6:15:50 PM -08:00 por una hora que es ocho horas detrás de la hora universal coordinada (UTC).
Este método usa información de formato derivada de la referencia cultural actual. Para obtener más información, consulte CurrentCulture. Otras sobrecargas del ToString método permiten especificar la referencia cultural cuyo formato se va a usar y definir el patrón de salida del DateTimeOffset valor.
Notas a los autores de las llamadas
El ToString() método devuelve la representación de cadena de la fecha y hora en el calendario utilizado por la referencia cultural actual. Si el valor de la instancia actual DateTimeOffset es anterior MinSupportedDateTime o posterior a MaxSupportedDateTime, el método produce una ArgumentOutOfRangeExceptionexcepción . En el ejemplo siguiente se proporciona una ilustración. Intenta dar formato a una fecha que está fuera del intervalo de la HijriCalendar clase cuando la referencia cultural actual es árabe (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
Se aplica a
ToString(IFormatProvider)
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente mediante la información de formato específica de la referencia cultural especificada.
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
Parámetros
- formatProvider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural.
Devoluciones
Representación de cadena del valor del objeto actual DateTimeOffset , según lo especificado por formatProvider.
Excepciones
La fecha y hora están fuera del intervalo de fechas compatibles con el calendario utilizado por formatProvider.
Ejemplos
En el ejemplo siguiente se muestra un DateTimeOffset objeto mediante CultureInfo objetos que representan la referencia cultural invariable, así como otras cuatro referencias culturales.
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
Comentarios
El valor devuelto de este método es idéntico al de su sobrecarga equivalente del DateTime.ToString método, excepto que incluye un espacio seguido del desplazamiento anexado al final de la cadena. En otras palabras, da formato a la salida mediante el patrón de fecha corta, el patrón de tiempo largo y la zzz cadena de formato personalizado, con cada elemento separado del elemento anterior por un espacio.
El formato de estos tres elementos se define mediante el formatProvider parámetro . El formatProvider parámetro puede ser cualquiera de los siguientes:
Objeto CultureInfo que representa la referencia cultural cuyas convenciones de formato se aplican a la cadena devuelta. El DateTimeFormatInfo objeto devuelto por la CultureInfo.DateTimeFormat propiedad define el formato de la cadena devuelta.
Objeto DateTimeFormatInfo que define el formato de los datos de fecha y hora.
Si formatProvider es null, se usa el DateTimeFormatInfo objeto asociado a la referencia cultural actual (vea CurrentCulture).
Notas a los autores de las llamadas
El ToString(IFormatProvider) método devuelve la representación de cadena de la fecha y hora en el calendario utilizado por la referencia cultural representada por el formatProvider parámetro . Su calendario se define mediante la Calendar propiedad . Si el valor de la instancia actual DateTimeOffset es anterior MinSupportedDateTime o posterior a MaxSupportedDateTime, el método produce una ArgumentOutOfRangeExceptionexcepción . En el ejemplo siguiente se proporciona una ilustración. Intenta dar formato a una fecha que está fuera del intervalo de la JapaneseCalendar clase.
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
Se aplica a
ToString(String)
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente mediante el formato especificado.
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
Parámetros
- format
- String
Cadena de formato.
Devoluciones
Representación de cadena del valor del objeto actual DateTimeOffset , según lo especificado por format.
Excepciones
La longitud de format es una y no es uno de los caracteres de especificador de formato estándar definidos para DateTimeFormatInfo.
-o-
format no contiene un patrón de formato personalizado válido.
La fecha y hora están fuera del intervalo de fechas compatibles con el calendario utilizado por la referencia cultural actual.
Ejemplos
En el ejemplo siguiente se muestra un DateTimeOffset objeto en la consola mediante cada uno de los especificadores de formato de fecha y hora estándar. La salida tiene el formato mediante la referencia cultural 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))
Comentarios
El format parámetro debe contener un carácter de especificador de formato único (vea Cadenas de formato de fecha y hora estándar) o un patrón de formato personalizado (vea Cadenas de formato de fecha y hora personalizados) que define el formato de la cadena devuelta. Si format es una cadena nula o vacía (""), el DateTimeOffset valor se genera con el formato predeterminado.
En la tabla siguiente se muestra la operación exacta de determinados especificadores de formato cuando se usa con DateTimeOffset, que difiere de su comportamiento cuando se usa con DateTime.
| Especificador de formato existente | Nuevo comportamiento |
|---|---|
| "K" | Diseñado para realizar un recorrido de ida y vuelta una fecha y hora. Con DateTimeOffset, se asigna a "zzz" (el desplazamiento siempre se muestra con horas y minutos). Tenga en cuenta que "K" es un especificador de formato personalizado; no puede aparecer como el carácter único en format. |
| "U" | No se admite. |
| "r" | Convierte el DateTimeOffset objeto en hora universal coordinada (UTC) y lo genera mediante la cadena ddd, dd MMM yyyy HH:mm:ss GMTde formato personalizado . |
| "u" | Convierte el DateTimeOffset objeto en UTC y lo genera con el formato yyyy-MM-dd HH:mm:ssZ. |
Los especificadores de formato de fecha y hora estándar restantes se comportan igual con el ToString(String) método que hacen con el ToString método .
Este método usa información de formato derivada de la referencia cultural actual. Para obtener más información, consulte CurrentCulture.
Notas a los autores de las llamadas
El ToString(String) método devuelve la representación de cadena de la fecha y hora en el calendario utilizado por la referencia cultural actual. Si el valor de la instancia actual DateTimeOffset es anterior MinSupportedDateTime o posterior a MaxSupportedDateTime, el método produce una ArgumentOutOfRangeExceptionexcepción . En el ejemplo siguiente se proporciona una ilustración. Intenta dar formato a una fecha que está fuera del intervalo de la HebrewCalendar clase cuando la referencia cultural actual es hebreo (Israel).
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
Consulte también
Se aplica a
ToString(String, IFormatProvider)
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
Convierte el valor del objeto actual DateTimeOffset en su representación de cadena equivalente mediante el formato especificado y la información de formato específica de la referencia cultural.
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
Parámetros
- format
- String
Cadena de formato.
- formatProvider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural.
Devoluciones
Representación de cadena del valor del objeto actual DateTimeOffset , tal como se especifica en format y formatProvider.
Implementaciones
Excepciones
La longitud de format es una y no es uno de los caracteres de especificador de formato estándar definidos para DateTimeFormatInfo.
-o-
format no contiene un patrón de formato personalizado válido.
La fecha y hora están fuera del intervalo de fechas compatibles con el calendario utilizado por formatProvider.
Ejemplos
En el ejemplo siguiente se usa el ToString(String, IFormatProvider) método para mostrar un DateTimeOffset objeto mediante una cadena de formato personalizada para varias referencias culturales diferentes.
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
Comentarios
El format parámetro debe contener un carácter de especificador de formato único (vea Cadenas de formato de fecha y hora estándar) o un patrón de formato personalizado (consulte Cadenas de formato de fecha y hora personalizados). Si format es una cadena nula o vacía (""), el DateTimeOffset objeto se genera con el formato predeterminado.
En la tabla siguiente se muestra la operación exacta de determinados especificadores de formato cuando se usa con DateTimeOffset, que difiere de su comportamiento cuando se usa con DateTime.
| Especificador de formato existente | Nuevo comportamiento |
|---|---|
| "K" | Diseñado para realizar un recorrido de ida y vuelta una fecha y hora. Con DateTimeOffset, se asigna a "zzz" (el desplazamiento siempre se muestra con horas y minutos). Tenga en cuenta que "K" es un especificador de formato personalizado; no puede aparecer como el carácter único en format. |
| "U" | No se admite. |
| "r" | Convierte el DateTimeOffset objeto en hora universal coordinada (UTC) y lo genera mediante la cadena ddd, dd MMM yyyy HH:mm:ss GMTde formato personalizado . |
| "u" | Convierte el DateTimeOffset valor en UTC y lo genera con el formato yyyy-MM-dd HH:mm:ssZ. |
Los especificadores de formato de fecha y hora estándar restantes se comportan igual con el ToString(String) método que hacen con el ToString método .
El patrón que corresponde a especificadores de formato estándar, así como los símbolos y nombres de los componentes de fecha y hora, se define mediante el formatProvider parámetro . El formatProvider parámetro puede ser cualquiera de los siguientes:
Objeto CultureInfo que representa la referencia cultural cuyo formato se usa en
input. El DateTimeFormatInfo objeto devuelto por la CultureInfo.DateTimeFormat propiedad define el formato usado eninput.Objeto DateTimeFormatInfo que define el formato de los datos de fecha y hora.
Si formatProvider es null, se usa el DateTimeFormatInfo objeto asociado a la referencia cultural actual (vea CurrentCulture).
Notas a los autores de las llamadas
El ToString(String, IFormatProvider) método devuelve la representación de cadena de la fecha y hora en el calendario utilizado por el formatProvider parámetro . Su calendario se define mediante la Calendar propiedad . Si el valor de la instancia actual DateTimeOffset es anterior MinSupportedDateTime o posterior a MaxSupportedDateTime, el método produce una ArgumentOutOfRangeExceptionexcepción . En el ejemplo siguiente se proporciona una ilustración. Intenta dar formato a una fecha que está fuera del intervalo de la UmAlQuraCalendar clase.
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
Consulte también
- Cadenas de formato estándar de fecha y hora
- Cadenas con formato de fecha y hora personalizado
- Ejemplo: Utilidad de formato winForms de .NET Core (C#)
- Ejemplo: Utilidad de formato winForms de .NET Core (Visual Basic)