Ler em inglês

Compartilhar via


DateTime.ToString Método

Definição

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

Sobrecargas

ToString(IFormatProvider)

Converte o valor do objeto DateTime atual para sua representação de cadeia de caracteres equivalente usando as informações de formato específicas da cultura especificada.

ToString(String)

Converte o valor do atual objeto DateTime na representação de cadeia de caracteres equivalente usando o formato especificado e as convenções de formatação da cultura atual.

ToString()

Converte o valor do atual objeto DateTime na representação de cadeia de caracteres equivalente usando as convenções de formatação da cultura atual.

ToString(String, IFormatProvider)

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

ToString(IFormatProvider)

Origem:
DateTime.cs
Origem:
DateTime.cs
Origem:
DateTime.cs

Converte o valor do objeto DateTime atual para sua representação de cadeia de caracteres equivalente usando as informações de formato específicas da cultura especificada.

C#
public string ToString (IFormatProvider provider);
C#
public string ToString (IFormatProvider? provider);

Parâmetros

provider
IFormatProvider

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

Retornos

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

Implementações

Exceções

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

Exemplos

O exemplo a seguir exibe a representação de cadeia de caracteres de uma data e hora usando CultureInfo objetos que representam cinco culturas diferentes.

C#
using System;
using System.Globalization;

public class ToStringExample3
{
   public static void Main2()
   {
      CultureInfo[] cultures = new CultureInfo[] {CultureInfo.InvariantCulture,
                                                  new CultureInfo("en-us"),
                                                  new CultureInfo("fr-fr"),
                                                  new CultureInfo("de-DE"),
                                                  new CultureInfo("es-ES"),
                                                  new CultureInfo("ja-JP")};

      DateTime thisDate = new DateTime(2009, 5, 1, 9, 0, 0);

      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/2009 09:00:00
//    In en-US, 5/1/2009 9:00:00 AM
//    In fr-FR, 01/05/2009 09:00:00
//    In de-DE, 01.05.2009 09:00:00
//    In es-ES, 01/05/2009 9:00:00
//    In ja-JP, 2009/05/01 9:00:00

Comentários

O valor do objeto atual DateTime é formatado usando o especificador geral de formato de data e hora ('G'), que formata a saída usando o padrão de data abreviada e o padrão de tempo longo.

O formato do padrão de data curta e hora longa é definido pelo provider parâmetro . O parâmetro provider pode ser um dos seguintes:

Se provider for null, o DateTimeFormatInfo objeto associado à cultura atual será usado. Para obter mais informações, consulte CultureInfo.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 provider parâmetro . O calendário é definido pela propriedade Calendar. Caso o valor da instância DateTime 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 JapaneseCalendar classe .

C#
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo jaJP = new CultureInfo("ja-JP");
      jaJP.DateTimeFormat.Calendar = new JapaneseCalendar();
      DateTime date1 = new DateTime(1867, 1, 1);

      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   }

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToString(String)

Origem:
DateTime.cs
Origem:
DateTime.cs
Origem:
DateTime.cs

Converte o valor do atual objeto DateTime na representação de cadeia de caracteres equivalente usando o formato especificado e as convenções de formatação da cultura atual.

C#
public string ToString (string format);
C#
public string ToString (string? format);

Parâmetros

format
String

Uma cadeia de caracteres de formato de data e hora padrão ou personalizada.

Retornos

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

Exceções

O tamanho de format é 1, e ele não é um dos caracteres especificadores de formato 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 usa cada uma das cadeias de caracteres de formato de data e hora padrão e uma seleção de cadeias de caracteres de formato de data e hora personalizadas para exibir a representação de cadeia de caracteres de um DateTime valor. A cultura atual do thread para o exemplo é en-US.

C#
using System;

public class DateToStringExample2
{
   public static void Main()
   {
      DateTime dateValue = new DateTime(2008, 6, 15, 21, 15, 07);
      // Create an array of standard format strings.
      string[] standardFmts = {"d", "D", "f", "F", "g", "G", "m", "o",
                               "R", "s", "t", "T", "u", "U", "y"};
      // Output date and time using each standard format string.
      foreach (string standardFmt in standardFmts)
         Console.WriteLine("{0}: {1}", standardFmt,
                           dateValue.ToString(standardFmt));
      Console.WriteLine();

      // Create an array of some custom format strings.
      string[] customFmts = {"h:mm:ss.ff t", "d MMM yyyy", "HH:mm:ss.f",
                             "dd MMM HH:mm:ss", @"\Mon\t\h\: M", "HH:mm:ss.ffffzzz" };
      // Output date and time using each custom format string.
      foreach (string customFmt in customFmts)
         Console.WriteLine("'{0}': {1}", customFmt,
                           dateValue.ToString(customFmt));
   }
}
// This example displays the following output to the console:
//       d: 6/15/2008
//       D: Sunday, June 15, 2008
//       f: Sunday, June 15, 2008 9:15 PM
//       F: Sunday, June 15, 2008 9:15:07 PM
//       g: 6/15/2008 9:15 PM
//       G: 6/15/2008 9:15:07 PM
//       m: June 15
//       o: 2008-06-15T21:15:07.0000000
//       R: Sun, 15 Jun 2008 21:15:07 GMT
//       s: 2008-06-15T21:15:07
//       t: 9:15 PM
//       T: 9:15:07 PM
//       u: 2008-06-15 21:15:07Z
//       U: Monday, June 16, 2008 4:15:07 AM
//       y: June, 2008
//
//       'h:mm:ss.ff t': 9:15:07.00 P
//       'd MMM yyyy': 15 Jun 2008
//       'HH:mm:ss.f': 21:15:07.0
//       'dd MMM HH:mm:ss': 15 Jun 21:15:07
//       '\Mon\t\h\: M': Month: 6
//       'HH:mm:ss.ffffzzz': 21:15:07.0000-07:00

Comentários

O ToString(String) método retorna a representação de cadeia de caracteres de um valor de data e hora em um formato específico que usa as convenções de formatação da cultura atual; para obter mais informações, consulte CultureInfo.CurrentCulture.

O format parâmetro deve conter um único caractere especificador de formato (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 null ou uma cadeia de caracteres vazia, o especificador de formato geral, 'G', será usado.

Alguns usos desse método incluem:

  • Obter uma cadeia de caracteres que exibe a data e a hora no formato curto de data e hora da cultura atual. Para fazer isso, use o especificador de formato "G".

  • Obter uma cadeia de caracteres que contém apenas o mês e o ano. Para fazer isso, use a cadeia de caracteres de formato "MM/aaaa". A cadeia de caracteres de formato usa o separador de data da cultura atual.

  • Obter uma cadeia de caracteres que contém a data e a hora em um formato específico. Por exemplo, a cadeia de caracteres de formato "MM/dd/aaaaH:mm" exibe a cadeia de caracteres de data e hora em um formato fixo, como "19//03//2013 18:06". A cadeia de caracteres de formato usa "/" como separador de data fixa, independentemente das configurações específicas da cultura.

  • Obter uma data em um formato condensado que pode ser usado para serializar uma cadeia de caracteres de data. Por exemplo, a cadeia de caracteres de formato "aaaaMMdd" exibe um ano de quatro dígitos seguido por um mês de dois dígitos e um dia de dois dígitos sem separador de data.

O exemplo a seguir usa essas três cadeias de caracteres de formato para exibir um valor de data e hora usando as convenções das culturas en-US e fr-FR.

C#
using System;
using System.Globalization;

public class ToStringExample5
{
    public static void Main3()
    {
        string[] formats = { "G", "MM/yyyy", @"MM\/dd\/yyyy HH:mm", "yyyyMMdd" };
        string[] cultureNames = { "en-US", "fr-FR" };
        DateTime date = new DateTime(2015, 8, 18, 13, 31, 17);
        foreach (var cultureName in cultureNames)
        {
            var culture = new CultureInfo(cultureName);
            CultureInfo.CurrentCulture = culture;
            Console.WriteLine(culture.NativeName);
            foreach (var format in formats)
                Console.WriteLine($"   {format}: {date.ToString(format)}");
            Console.WriteLine();
        }
    }
}
// The example displays the following output:
//       English (United States)
//          G: 8/18/2015 1:31:17 PM
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818
//
//       français (France)
//          G: 18/08/2015 13:31:17
//          MM/yyyy: 08/2015
//          MM\/dd\/yyyy HH:mm: 08/18/2015 13:31
//          yyyyMMdd: 20150818

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 DateTime 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).

C#
using System;
using System.Globalization;
using System.Threading;

public class Example3
{
    public static void Main()
    {
        DateTime date1 = new DateTime(1550, 7, 21);
        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

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToString()

Origem:
DateTime.cs
Origem:
DateTime.cs
Origem:
DateTime.cs

Converte o valor do atual objeto DateTime na representação de cadeia de caracteres equivalente usando as convenções de formatação da cultura atual.

C#
public override string ToString ();

Retornos

Uma representação de cadeia de caracteres do valor do atual objeto DateTime.

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 como a representação de cadeia de caracteres de um DateTime valor retornado pelo ToString() método depende da cultura atual do thread. Ele altera a cultura atual para en-US, fr-FR e ja-JP e, em cada caso, chama o ToString() método para retornar a representação de cadeia de caracteres de um valor de data e hora usando essa cultura.

C#
using System;
using System.Globalization;

public class ToStringExample1
{
    public static void Main()
    {
        CultureInfo currentCulture = CultureInfo.CurrentCulture;
        DateTime exampleDate = new DateTime(2021, 5, 1, 18, 32, 6);

        // Change the current culture to en-US and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
        Console.WriteLine(exampleDate.ToString());

        // Change the current culture to fr-FR and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("fr-FR");
        Console.WriteLine(exampleDate.ToString());

        // Change the current culture to ja-JP and display the date.
        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("ja-JP");
        Console.WriteLine(exampleDate.ToString());

        // Restore the original culture
        CultureInfo.CurrentCulture = currentCulture;
    }
}

// The example displays the following output to the console:
//       5/1/2021 6:32:06 PM
//       01/05/2021 18:32:06
//       2021/05/01 18:32:06

Comentários

O valor do objeto atual DateTime é formatado usando o especificador de formato geral de data e hora ('G'). Para formatá-lo usando um especificador de formato de data e hora específico, chame o ToString(String) método . Para formatá-lo usando o especificador de formato geral de data e hora ('G') para uma cultura específica, chame o ToString(IFormatProvider) método . Para formatá-lo usando um especificador de formato de data e hora específico e as convenções de uma cultura específica, chame o ToString(String, IFormatProvider) método .

Este método usa informações de formatação derivadas da cultura atual. Em particular, ele combina as cadeias de caracteres de formato personalizado retornadas pelas ShortDatePattern propriedades e LongTimePattern do DateTimeFormatInfo objeto retornado pela Thread.CurrentThread.CurrentCulture.DateTimeFormat propriedade . Para obter mais informações, consulte CultureInfo.CurrentCulture. Outras sobrecargas do ToString método permitem que você especifique a cultura cuja formatação usar e defina o padrão de saída do DateTime 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 DateTime 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).

C#
using System;
using System.Globalization;
using System.Threading;

public class Example2
{
    public static void Main()
    {
        DateTime date1 = new DateTime(550, 1, 1);
        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

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToString(String, IFormatProvider)

Origem:
DateTime.cs
Origem:
DateTime.cs
Origem:
DateTime.cs

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

C#
public string ToString (string format, IFormatProvider provider);
C#
public string ToString (string? format, IFormatProvider? provider);

Parâmetros

format
String

Uma cadeia de caracteres de formato de data e hora padrão ou personalizada.

provider
IFormatProvider

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

Retornos

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

Implementações

Exceções

O tamanho de format é 1, e ele não é um dos caracteres especificadores de formato 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 provider.

Exemplos

O exemplo a seguir usa cada uma das cadeias de caracteres de formato de data e hora padrão para exibir a representação de cadeia de caracteres de uma data e hora para quatro culturas diferentes.

C#
using System;
using System.Globalization;

public class ToStringExample4
{
   public static void Main1()
   {
      // Create an array of all supported standard date and time format specifiers.
      string[] formats = {"d", "D", "f", "F", "g", "G", "m", "o", "r",
                          "s", "t", "T", "u", "U", "Y"};
      // Create an array of four cultures.
      CultureInfo[] cultures = {CultureInfo.GetCultureInfo("de-DE"),
                                CultureInfo.GetCultureInfo("en-US"),
                                CultureInfo.GetCultureInfo("es-ES"),
                                CultureInfo.GetCultureInfo("fr-FR")};
       // Define date to be displayed.
      DateTime dateToDisplay = new DateTime(2008, 10, 31, 17, 4, 32);

      // Iterate each standard format specifier.
      foreach (string formatSpecifier in formats)
      {
         foreach (CultureInfo culture in cultures)
            Console.WriteLine("{0} Format Specifier {1, 10} Culture {2, 40}",
                              formatSpecifier, culture.Name,
                              dateToDisplay.ToString(formatSpecifier, culture));
         Console.WriteLine();
      }
   }
}

// The example displays the following output:
//    d Format Specifier      de-DE Culture                               31.10.2008
//    d Format Specifier      en-US Culture                               10/31/2008
//    d Format Specifier      es-ES Culture                               31/10/2008
//    d Format Specifier      fr-FR Culture                               31/10/2008
//    
//    D Format Specifier      de-DE Culture                Freitag, 31. Oktober 2008
//    D Format Specifier      en-US Culture                 Friday, October 31, 2008
//    D Format Specifier      es-ES Culture           viernes, 31 de octubre de 2008
//    D Format Specifier      fr-FR Culture                 vendredi 31 octobre 2008
//    
//    f Format Specifier      de-DE Culture          Freitag, 31. Oktober 2008 17:04
//    f Format Specifier      en-US Culture         Friday, October 31, 2008 5:04 PM
//    f Format Specifier      es-ES Culture     viernes, 31 de octubre de 2008 17:04
//    f Format Specifier      fr-FR Culture           vendredi 31 octobre 2008 17:04
//    
//    F Format Specifier      de-DE Culture       Freitag, 31. Oktober 2008 17:04:32
//    F Format Specifier      en-US Culture      Friday, October 31, 2008 5:04:32 PM
//    F Format Specifier      es-ES Culture  viernes, 31 de octubre de 2008 17:04:32
//    F Format Specifier      fr-FR Culture        vendredi 31 octobre 2008 17:04:32
//    
//    g Format Specifier      de-DE Culture                         31.10.2008 17:04
//    g Format Specifier      en-US Culture                       10/31/2008 5:04 PM
//    g Format Specifier      es-ES Culture                         31/10/2008 17:04
//    g Format Specifier      fr-FR Culture                         31/10/2008 17:04
//    
//    G Format Specifier      de-DE Culture                      31.10.2008 17:04:32
//    G Format Specifier      en-US Culture                    10/31/2008 5:04:32 PM
//    G Format Specifier      es-ES Culture                      31/10/2008 17:04:32
//    G Format Specifier      fr-FR Culture                      31/10/2008 17:04:32
//    
//    m Format Specifier      de-DE Culture                              31. Oktober
//    m Format Specifier      en-US Culture                               October 31
//    m Format Specifier      es-ES Culture                            31 de octubre
//    m Format Specifier      fr-FR Culture                               31 octobre
//    
//    o Format Specifier      de-DE Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      en-US Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      es-ES Culture              2008-10-31T17:04:32.0000000
//    o Format Specifier      fr-FR Culture              2008-10-31T17:04:32.0000000
//    
//    r Format Specifier      de-DE Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      en-US Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      es-ES Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    r Format Specifier      fr-FR Culture            Fri, 31 Oct 2008 17:04:32 GMT
//    
//    s Format Specifier      de-DE Culture                      2008-10-31T17:04:32
//    s Format Specifier      en-US Culture                      2008-10-31T17:04:32
//    s Format Specifier      es-ES Culture                      2008-10-31T17:04:32
//    s Format Specifier      fr-FR Culture                      2008-10-31T17:04:32
//    
//    t Format Specifier      de-DE Culture                                    17:04
//    t Format Specifier      en-US Culture                                  5:04 PM
//    t Format Specifier      es-ES Culture                                    17:04
//    t Format Specifier      fr-FR Culture                                    17:04
//    
//    T Format Specifier      de-DE Culture                                 17:04:32
//    T Format Specifier      en-US Culture                               5:04:32 PM
//    T Format Specifier      es-ES Culture                                 17:04:32
//    T Format Specifier      fr-FR Culture                                 17:04:32
//    
//    u Format Specifier      de-DE Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      en-US Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      es-ES Culture                     2008-10-31 17:04:32Z
//    u Format Specifier      fr-FR Culture                     2008-10-31 17:04:32Z
//    
//    U Format Specifier      de-DE Culture       Freitag, 31. Oktober 2008 09:04:32
//    U Format Specifier      en-US Culture      Friday, October 31, 2008 9:04:32 AM
//    U Format Specifier      es-ES Culture   viernes, 31 de octubre de 2008 9:04:32
//    U Format Specifier      fr-FR Culture        vendredi 31 octobre 2008 09:04:32
//    
//    Y Format Specifier      de-DE Culture                             Oktober 2008
//    Y Format Specifier      en-US Culture                             October 2008
//    Y Format Specifier      es-ES Culture                          octubre de 2008
//    Y Format Specifier      fr-FR Culture                             octobre 2008

O exemplo a seguir demonstra diferentes maneiras de formatar um DateTime valor usando o invariável DateTimeFormatInfo.

C#
using System;
using System.Globalization;

public class MainClass
{
    public static void Main(string[] args)
    {
        DateTime dt = DateTime.Now;
        String[] format = {
            "d", "D",
            "f", "F",
            "g", "G",
            "m",
            "r",
            "s",
            "t", "T",
            "u", "U",
            "y",
            "dddd, MMMM dd yyyy",
            "ddd, MMM d \"'\"yy",
            "dddd, MMMM dd",
            "M/yy",
            "dd-MM-yy",
        };
        string date;
        for (int i = 0; i < format.Length; i++)
        {
            date = dt.ToString(format[i], DateTimeFormatInfo.InvariantInfo);
            Console.WriteLine(string.Concat(format[i], " :", date));
        }

        /** Output.
         *
         * d :08/17/2000
         * D :Thursday, August 17, 2000
         * f :Thursday, August 17, 2000 16:32
         * F :Thursday, August 17, 2000 16:32:32
         * g :08/17/2000 16:32
         * G :08/17/2000 16:32:32
         * m :August 17
         * r :Thu, 17 Aug 2000 23:32:32 GMT
         * s :2000-08-17T16:32:32
         * t :16:32
         * T :16:32:32
         * u :2000-08-17 23:32:32Z
         * U :Thursday, August 17, 2000 23:32:32
         * y :August, 2000
         * dddd, MMMM dd yyyy :Thursday, August 17 2000
         * ddd, MMM d "'"yy :Thu, Aug 17 '00
         * dddd, MMMM dd :Thursday, August 17
         * M/yy :8/00
         * dd-MM-yy :17-08-00
         */
    }
}

Comentários

O format parâmetro pode 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 null ou uma cadeia de caracteres vazia (""), o especificador de formato padrão, "G", será usado.

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

Se provider for null, o DateTimeFormatInfo associado à cultura atual será usado. Para obter mais informações, consulte CultureInfo.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 provider parâmetro . O calendário é definido pela propriedade Calendar. Caso o valor da instância DateTime 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 UmAlQuraCalendar classe .

C#
using System;
using System.Globalization;

public class Example4
{
    public static void Main()
    {
        CultureInfo arSA = new CultureInfo("ar-SA");
        arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
        DateTime date1 = new DateTime(1890, 9, 10);

        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

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0