DateTimeOffset.ToString Método

Definição

Converte o valor do atual objeto DateTimeOffset na representação de cadeia de caracteres equivalente.

Sobrecargas

ToString()

Converte o valor do atual objeto DateTimeOffset na representação de cadeia de caracteres equivalente.

ToString(IFormatProvider)

Converte o valor do objeto DateTimeOffset atual em sua representação de cadeia de caracteres equivalente usando as informações de formatação específicas da cultura especificadas.

ToString(String)

Converte o valor do objeto DateTimeOffset atual em sua representação de cadeia de caracteres equivalente usando o formato especificado.

ToString(String, IFormatProvider)

Converte o valor do atual objeto DateTimeOffset na representação de cadeia de caracteres equivalente usando o formato especificado e as informações de formato específicas da cultura.

ToString()

Converte o valor do atual objeto DateTimeOffset na representação de cadeia de caracteres equivalente.

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Retornos

String

Uma representação de cadeia de caracteres de um objeto DateTimeOffset que inclui o deslocamento acrescentado no final da cadeia de caracteres.

Exceções

A data e hora está fora do intervalo de datas suportadas pelo calendário usado pela cultura atual.

Exemplos

O exemplo a seguir ilustra chamadas para o ToString() método e exibe sua saída em um sistema cuja cultura atual é 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

Comentários

O valor retornado desse método é idêntico ao do DateTime.ToString() método, exceto que ele inclui um espaço seguido pelo deslocamento acrescentado no final da cadeia de caracteres. Em outras palavras, ele formata a saída usando o padrão de data curta, o padrão de tempo longo e a zzz cadeia de caracteres de formato personalizado, com cada elemento separado do elemento anterior por um espaço. Por exemplo, se DateTime.ToString() retornar um valor de 1/12/2008 18:15:50, ToString() retornará um valor de 1/12/2008 18:15:50 -08:00 para uma hora que esteja oito horas atrás do Horário Universal Coordenado (UTC).

Este método usa informações de formatação derivadas da cultura atual. Para obter mais informações, consulte CurrentCulture. Outras sobrecargas do ToString método permitem que você especifique a cultura cuja formatação deve ser usada e defina o padrão de saída do DateTimeOffset valor.

Notas aos Chamadores

O ToString() método retorna a representação de cadeia de caracteres da data e hora no calendário usado pela cultura atual. Caso o valor da instância DateTimeOffset atual seja anterior a MinSupportedDateTime ou posterior a MaxSupportedDateTime, o método lança um ArgumentOutOfRangeException. O exemplo a seguir ilustra esse cenário. Ele tenta formatar uma data que está fora do intervalo da HijriCalendar classe quando a cultura atual é árabe (Síria).

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      DateTimeOffset date1 = new DateTimeOffset(new DateTime(550, 1, 1),
                                                TimeSpan.Zero);
      CultureInfo dft;
      CultureInfo arSY = new CultureInfo("ar-SY");
      arSY.DateTimeFormat.Calendar = new HijriCalendar();

      // Change current culture to ar-SY.
      dft = Thread.CurrentThread.CurrentCulture;
      Thread.CurrentThread.CurrentCulture = arSY;

      // Display the date using the current culture's calendar.
      try {
         Console.WriteLine(date1.ToString());
      }
      catch (ArgumentOutOfRangeException) {
         Console.WriteLine("{0} is earlier than {1} or later than {2}",
                           date1.ToString("d", CultureInfo.InvariantCulture),
                           arSY.DateTimeFormat.Calendar.MinSupportedDateTime.ToString("d", CultureInfo.InvariantCulture),
                           arSY.DateTimeFormat.Calendar.MaxSupportedDateTime.ToString("d", CultureInfo.InvariantCulture));
      }

      // Restore the default culture.
      Thread.CurrentThread.CurrentCulture = dft;
   }
}
// The example displays the following output:
//    01/01/0550 is earlier than 07/18/0622 or later than 12/31/9999

Aplica-se a

ToString(IFormatProvider)

Converte o valor do objeto DateTimeOffset atual em sua representação de cadeia de caracteres equivalente usando as informações de formatação específicas da cultura especificadas.

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

Um objeto que fornece informações de formatação específicas da cultura.

Retornos

String

Uma representação de cadeia de caracteres do valor do objeto DateTimeOffset atual, conforme especificado por formatProvider.

Exceções

A data e hora estão fora do intervalo de datas com suporte no calendário usado por formatProvider.

Exemplos

O exemplo a seguir exibe um DateTimeOffset objeto usando CultureInfo objetos que representam a cultura invariável, bem como outras quatro culturas.

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

Comentários

O valor retornado desse método é idêntico ao de sua sobrecarga equivalente do DateTime.ToString método, exceto que ele inclui um espaço seguido pelo deslocamento acrescentado no final da cadeia de caracteres. Em outras palavras, ele formata a saída usando o padrão de data curta, o padrão de tempo longo e a zzz cadeia de caracteres de formato personalizado, com cada elemento separado do elemento anterior por um espaço.

O formato desses três elementos é definido pelo formatProvider parâmetro. O parâmetro formatProvider pode ser qualquer um dos seguintes:

Se formatProvider for null, o DateTimeFormatInfo objeto associado à cultura atual é usado (consulte CurrentCulture).

Notas aos Chamadores

O ToString(IFormatProvider) método retorna a representação de cadeia de caracteres da data e hora no calendário usado pela cultura representada pelo formatProvider parâmetro. O calendário é definido pela propriedade Calendar. Caso o valor da instância DateTimeOffset atual seja anterior a MinSupportedDateTime ou posterior a MaxSupportedDateTime, o método lança um ArgumentOutOfRangeException. O exemplo a seguir ilustra esse cenário. Ele tenta formatar uma data fora do intervalo da JapaneseCalendar classe.

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

Aplica-se a

ToString(String)

Converte o valor do objeto DateTimeOffset atual em sua representação de cadeia de caracteres equivalente usando o 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

Uma cadeia de caracteres de formato.

Retornos

String

Uma representação de cadeia de caracteres do valor do objeto DateTimeOffset atual, conforme especificado por format.

Exceções

O tamanho de format é um, e ele não é um dos caracteres especificadores de formato padrão definidos para DateTimeFormatInfo.

- ou -

format não contém um padrão de formato personalizado válido.

A data e hora está fora do intervalo de datas suportadas pelo calendário usado pela cultura atual.

Exemplos

O exemplo a seguir exibe um objeto no console usando cada um DateTimeOffset dos especificadores de formato de data e hora padrão. A saída é formatada usando a cultura 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))

Comentários

O format parâmetro deve conter um caractere especificador de formato único (consulte Cadeias de Caracteres de Formato de Data e Hora Padrão) ou um padrão de formato personalizado (consulte Cadeias de Caracteres de Formato de Data e Hora Personalizadas) que define o formato da cadeia de caracteres retornada. Se format for uma cadeia de caracteres nula ou vazia (""), o DateTimeOffset valor será gerado usando o formato padrão.

A tabela a seguir mostra a operação exata de determinados especificadores de formato quando usado com DateTimeOffset, o que difere de seu comportamento quando usado com DateTime.

Especificador de formato existente Novo comportamento
"K" Projetado para ida e volta a uma data e hora. Com DateTimeOffset, mapeia para "zzz" (o deslocamento é sempre exibido com horas e minutos). Observe que "K" é um especificador de formato personalizado; ele não pode aparecer como o único caractere em format.
"U" Não há suporte.
"r" Converte o DateTimeOffset objeto em UTC (Tempo Universal Coordenado) e o gera usando a cadeia ddd, dd MMM yyyy HH:mm:ss GMTde caracteres de formato personalizado.
"u" Converte o DateTimeOffset objeto em UTC e o gera usando o formato yyyy-MM-dd HH:mm:ssZ.

Os especificadores de formato de data e hora padrão restantes se comportam da mesma forma que com o ToString(String) ToString método.

Este método usa informações de formatação derivadas da cultura atual. Para obter mais informações, consulte CurrentCulture.

Notas aos Chamadores

O ToString(String) método retorna a representação de cadeia de caracteres da data e hora no calendário usado pela cultura atual. Caso o valor da instância DateTimeOffset atual seja anterior a MinSupportedDateTime ou posterior a MaxSupportedDateTime, o método lança um ArgumentOutOfRangeException. O exemplo a seguir ilustra esse cenário. Ele tenta formatar uma data que está fora do intervalo da HebrewCalendar classe quando a cultura atual é hebraica (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

Confira também

Aplica-se a

ToString(String, IFormatProvider)

Converte o valor do atual objeto DateTimeOffset na representação de cadeia de caracteres equivalente usando o formato especificado e as informações de formato específicas da 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

Parâmetros

format
String

Uma cadeia de caracteres de formato.

formatProvider
IFormatProvider

Um objeto que fornece informações de formatação específicas da cultura.

Retornos

String

Uma representação de cadeia de caracteres do valor do atual objeto DateTimeOffset, conforme especificado por format e provider.

Implementações

Exceções

O tamanho de format é um, e ele não é um dos caracteres especificadores de formato padrão definidos para DateTimeFormatInfo.

- ou -

format não contém um padrão de formato personalizado válido.

A data e hora estão fora do intervalo de datas com suporte no calendário usado por formatProvider.

Exemplos

O exemplo a seguir usa o ToString(String, IFormatProvider) método para exibir um DateTimeOffset objeto usando uma cadeia de caracteres de formato personalizado para várias culturas 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

Comentários

O format parâmetro deve conter um caractere especificador de formato único (consulte Cadeias de Caracteres de Formato de Data e Hora Padrão) ou um padrão de formato personalizado (consulte Cadeias de Caracteres de Formato de Data e Hora Personalizadas). Se format for uma cadeia de caracteres nula ou vazia (""), o DateTimeOffset objeto será gerado usando o formato padrão.

A tabela a seguir mostra a operação exata de determinados especificadores de formato quando usado com DateTimeOffset, o que difere de seu comportamento quando usado com DateTime.

Especificador de formato existente Novo comportamento
"K" Projetado para ida e volta a uma data e hora. Com DateTimeOffset, mapeia para "zzz" (o deslocamento é sempre exibido com horas e minutos). Observe que "K" é um especificador de formato personalizado; ele não pode aparecer como o único caractere em format.
"U" Não há suporte.
"r" Converte o DateTimeOffset objeto em UTC (Tempo Universal Coordenado) e o gera usando a cadeia ddd, dd MMM yyyy HH:mm:ss GMTde caracteres de formato personalizado.
"u" Converte o DateTimeOffset valor em UTC e o gera usando o formato yyyy-MM-dd HH:mm:ssZ.

Os especificadores de formato de data e hora padrão restantes se comportam da mesma forma que com o ToString(String) ToString método.

O padrão que corresponde aos especificadores de formato padrão, bem como os símbolos e nomes de componentes de data e hora, é definido pelo formatProvider parâmetro. O parâmetro formatProvider pode ser qualquer um dos seguintes:

Se formatProvider for null, o DateTimeFormatInfo objeto associado à cultura atual é usado (consulte CurrentCulture).

Notas aos Chamadores

O ToString(String, IFormatProvider) método retorna a representação de cadeia de caracteres da data e hora no calendário usado pelo formatProvider parâmetro. O calendário é definido pela propriedade Calendar. Caso o valor da instância DateTimeOffset atual seja anterior a MinSupportedDateTime ou posterior a MaxSupportedDateTime, o método lança um ArgumentOutOfRangeException. O exemplo a seguir ilustra esse cenário. Ele tenta formatar uma data fora do intervalo da UmAlQuraCalendar classe.

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

Confira também

Aplica-se a