DateTimeOffset.ToString Método

Definición

Convierte el valor del objeto DateTimeOffset actual en su representación de cadena equivalente.

Sobrecargas

ToString()

Convierte el valor del objeto DateTimeOffset actual en su representación de cadena equivalente.

ToString(IFormatProvider)

Convierte el valor del objeto DateTimeOffset actual en su representación de cadena equivalente usando la información de formato específica de la referencia cultural especificada.

ToString(String)

Convierte el valor del objeto DateTimeOffset actual en su representación de cadena equivalente usando el formato especificado.

ToString(String, IFormatProvider)

Convierte el valor del objeto DateTimeOffset actual en la representación de cadena equivalente usando el formato y la información de formato específica de la referencia cultural especificados.

ToString()

Convierte el valor del objeto DateTimeOffset actual 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

String

Representación de cadena de un objeto DateTimeOffset que incluye el desplazamiento anexado al final de la cadena.

Excepciones

La fecha y hora se encuentra fuera del intervalo de fechas admitido por el calendario usado por la cultura 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 durante 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, vea 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 . Esto se muestra en el ejemplo siguiente. 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

Se aplica a

ToString(IFormatProvider)

Convierte el valor del objeto DateTimeOffset actual en su representación de cadena equivalente usando 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

String

Representación de cadena del valor del objeto DateTimeOffset actual, tal como especifica formatProvider.

Excepciones

La fecha y hora se encuentra fuera del intervalo de fechas admitido por el calendario usado por formatProvider.

Ejemplos

En el ejemplo siguiente se muestra un DateTimeOffset objeto que usa 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, 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.

El formato de estos tres elementos se define mediante el formatProvider parámetro . El formatProvider parámetro puede ser cualquiera de los siguientes:

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 un ArgumentOutOfRangeException. Esto se muestra en el ejemplo siguiente. 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

Se aplica a

ToString(String)

Convierte el valor del objeto DateTimeOffset actual en su representación de cadena equivalente usando 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

String

Representación de cadena del valor del objeto DateTimeOffset actual, tal como especifica format.

Excepciones

La longitud de format es 1 y no es uno de los caracteres del especificador de formato estándar definidos para DateTimeFormatInfo.

o bien

format no contiene un patrón de formato personalizado válido.

La fecha y hora se encuentra fuera del intervalo de fechas admitido por el calendario usado por la cultura 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 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 Comportamiento nuevo
"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 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, vea 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 un ArgumentOutOfRangeException. Esto se muestra en el ejemplo siguiente. 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

Consulte también

Se aplica a

ToString(String, IFormatProvider)

Convierte el valor del objeto DateTimeOffset actual en la representación de cadena equivalente usando el formato y la información de formato específica de la referencia cultural especificados.

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

String

Representación de cadena del valor del objeto DateTimeOffset actual, tal como especifican format y provider.

Implementaciones

Excepciones

La longitud de format es 1 y no es uno de los caracteres del especificador de formato estándar definidos para DateTimeFormatInfo.

o bien

format no contiene un patrón de formato personalizado válido.

La fecha y hora se encuentra fuera del intervalo de fechas admitido por el calendario usado 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 personalizado 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 Comportamiento nuevo
"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 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:

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 un ArgumentOutOfRangeException. Esto se muestra en el ejemplo siguiente. 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

Consulte también

Se aplica a