Cadeias de formato de data e hora padrão

Uma cadeia de formato de data e hora padrão utiliza um único caráter como o especificador de formato para definir a representação de texto de um DateTime ou de um DateTimeOffset valor. Qualquer cadeia de formato de data e hora que contenha mais do que um caráter, incluindo espaço em branco, é interpretada como uma cadeia de formato de data e hora personalizada. Uma cadeia de formato padrão ou personalizada pode ser utilizada de duas formas:

  • Para definir a cadeia que resulta de uma operação de formatação.

  • Para definir a representação de texto de um valor de data e hora que pode ser convertido num DateTime valor ou DateTimeOffset por uma operação de análise.

Dica

Pode transferir o Utilitário de Formatação, uma aplicação .NET Windows Forms que lhe permite aplicar cadeias de formato a valores numéricos ou de data e hora e apresentar a cadeia de resultados. O código fonte está disponível para C# e Visual Basic.

Nota

Alguns dos exemplos de C# neste artigo são executados no Try.NET inline code runner e playground. Selecione o botão Executar para executar um exemplo numa janela interativa. Depois de executar o código, pode modificá-lo e executar o código modificado ao selecionar Executar novamente. O código modificado é executado na janela interativa ou, se a compilação falhar, a janela interativa apresenta todas as mensagens de erro do compilador C#.

O fuso horário local do Try.NET linha de código inline e playground é Hora Universal Coordenada ou UTC. Isto pode afetar o comportamento e a saída de exemplos que ilustram os DateTimetipos , DateTimeOffsete e TimeZoneInfo e os respetivos membros.

Especificadores de tabela de formato

A tabela seguinte descreve os especificadores de formato de data e hora padrão. Salvo indicação em contrário, um especificador de formato de data e hora padrão específico produz uma representação de cadeia idêntica, independentemente de ser utilizado com um DateTime ou um DateTimeOffset valor. Veja Definições de Painel de Controlo e Propriedades DateTimeFormatInfo para obter informações adicionais sobre como utilizar cadeias de formato de data e hora padrão.

Especificador de formato Descrição Exemplos
"d" Padrão de data abreviada.

Mais informações: o especificador de formato de data abreviada ("d").
2009-06-15T13:45:30 -> 15/6/2009 (en-US)

2009-06-15T13:45:30 -> 06/15/2009 (fr-FR)

2009-06-15T13:45:30 -> 2009/06/15 (ja-JP)
"D" Padrão de data longa.

Mais informações: o especificador de formato de data longa ("D").
06-2009-15T13:45:30 -> Segunda-feira, 15 de Junho de 2009 (en-US)

2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г. (ru-RU)

2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE)
"f" Padrão de data/hora completa (hora abreviada).

Mais informações: O especificador de formato de data curta ("f") completo.
06-2009-15T13:45:30 -> Segunda-feira, 15 de Junho de 2009 13:45 (en-US)

2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE)

2009-06-15T13:45:30 -> Δευτέρα, 15 Ιυνίиυ 2009 1:45 μμ (el-GR)
"F" Padrão de data/hora completa (tempo longo).

Mais informações: O especificador do formato de data completa de longa duração ("F").
06-2009-15T13:45:30 -> Segunda-feira, 15 de junho de 2009 13:45:30 (en-US)

2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE)

2009-06-15T13:45:30 -> Δευτέρα, 15 Ιυνίυ 2009 1:45:30 μμ (el-GR)
"g" Padrão de data/hora geral (hora abreviada).

Mais informações: o especificador do formato de data e hora ("g") geral.
2009-06-15T13:45:30 -> 15/06/2009 13:45 (en-US)

06-2009-15T13:45:30 -> 06/15/2009 13:45 (es-ES)

2009-06-15T13:45:30 -> 2009/6/15 13:45 (zh-CN)
"G" Padrão de data/hora geral (tempo longo).

Mais informações: o especificador de formato de data longa ("G") geral.
2009-06-15T13:45:30 -> 15/6/2009 1:45:30 PM (en-US)

2009-06-15T13:45:30 -> 06/15/2009 13:45:30 (es-ES)

2009-06-15T13:45:30 -> 2009/6/15 13:45:30 (zh-CN)
"M", "m" Padrão mês/dia.

Mais informações: o especificador do formato month ("M", "m").
2009-06-15T13:45:30 -> 15 de junho (en-US)

06-2009-15T13:45:30 -> 15. juni (da-DK)

2009-06-15T13:45:30 -> 15 Juni (id-ID)
"O", "o" padrão de data/hora de ida e volta.

Mais informações: O especificador do formato de ida e volta ("O", "o").
DateTime valores:

2009-06-15T13:45:30 (DateTimeKind.Local) --> 2009-06-15T13:45:30.0000000-07:00

2009-06-15T13:45:30 (DateTimeKind.Utc) --> 2009-06-15T13:45:30.0000000Z

2009-06-15T13:45:30 (DateTimeKind.Specificed) --> 2009-06-15T13:45:30.0000000

DateTimeOffset valores:

2009-06-15T13:45:30-07:00 --> 2009-06-15T13:45:30.0000000-07:00
"R", "r" Padrão RFC1123.

Mais informações: O especificador de formato RFC1123 ("R", "r").
DateTimeOffset entrada: 2009-06-15T13:45:30 -> Mon, 15 Jun 2009 20:45:30 GMT
DateTime entrada: 2009-06-15T13:45:30 -> Mon, 15 Jun 2009 13:45:30 GMT
"s" Padrão de data/hora ordenável.

Mais informações: o especificador de formato ("s") ordenável.
2009-06-15T13:45:30 (DateTimeKind.Local) -> 2009-06-15T13:45:30

2009-06-15T13:45:30 (DateTimeKind.Utc) -> 2009-06-15T13:45:30
"t" Padrão de tempo curto.

Mais informações: o especificador de formato de curto prazo ("t").
06-2009-15T13:45:30 -> 13:45 (en-US)

2009-06-15T13:45:30 -> 13:45 (hr-HR)

06-2009-15T13:45:30 -> 01:45 م (ar-EG)
"T" Padrão de tempo longo.

Mais informações: o especificador de formato de longo prazo ("T").
06-2009-15T13:45:30 -> 13:45:30 (en-US)

2009-06-15T13:45:30 -> 13:45:30 (hr-HR)

06-2009-15T13:45:30 -> 01:45:30 م (ar-EG)
"u" Padrão de data/hora ordenável universal.

Mais informações: O especificador de formato universal ordenável ("u").
Com um DateTime valor: 2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z

Com um DateTimeOffset valor: 2009-06-15T13:45:30 -> 2009-06-15 20:45:30Z
"U" Padrão de data/hora completa universal.

Mais informações: O especificador de formato completo universal ("U").
06-2009-15T13:45:30 -> Segunda-feira, 15 de Junho de 2009 20:45:30 PM (en-US)

2009-06-15T13:45:30 -> den 15 juni 2009 20:45:30 (sv-SE)

2009-06-15T13:45:30 -> Δευτέρα, 15 Ιυνίυ 2009 8:45:30 μμ (el-GR)
"Y", "y" Padrão de mês de ano.

Mais informações: O especificador de formato do mês do ano ("Y").
06-2009-15T13:45:30 -> Junho de 2009 (en-US)

2009-06-15T13:45:30 -> juni 2009 (da-DK)

06-2009-15T13:45:30 -> Juni 2009 (id-ID)
Qualquer outro caráter individual Especificador desconhecido. Lança um run-time FormatException.

Como funcionam as cadeias de formato padrão

Numa operação de formatação, uma cadeia de formato padrão é simplesmente um alias para uma cadeia de formato personalizado. A vantagem de utilizar um alias para fazer referência a uma cadeia de formato personalizado é que, embora o alias permaneça invariável, a cadeia de formato personalizado em si pode variar. Isto é importante porque as representações de cadeia de carateres dos valores de data e hora normalmente variam consoante a cultura. Por exemplo, a cadeia de formato padrão "d" indica que um valor de data e hora deve ser apresentado através de um padrão de data abreviada. Para a cultura invariante, este padrão é "MM/dd/aaaa". Para a cultura fr-FR, é "dd/MM/aaaa". Para a cultura ja-JP, é "aaaa/MM/dd".

Se uma cadeia de formato padrão numa operação de formatação mapeia para uma cadeia de formato personalizada de uma determinada cultura, a sua aplicação pode definir a cultura específica cujas cadeias de formato personalizado são utilizadas de uma destas formas:

  • Pode utilizar a cultura predefinida (ou atual). O exemplo seguinte apresenta uma data com o formato de data abreviada da cultura atual. Neste caso, a cultura atual é en-US.

    // Display using current (en-us) culture's short date format
    DateTime thisDate = new DateTime(2008, 3, 15);
    Console.WriteLine(thisDate.ToString("d"));           // Displays 3/15/2008
    
    ' Display using current (en-us) culture's short date format
    Dim thisDate As Date = #03/15/2008#
    Console.WriteLine(thisDate.ToString("d"))     ' Displays 3/15/2008
    
  • Pode transmitir um CultureInfo objeto que representa a cultura cuja formatação deve ser utilizada para um método que tenha um IFormatProvider parâmetro. O exemplo seguinte apresenta uma data com o formato de data abreviada da cultura pt-BR.

    // Display using pt-BR culture's short date format
    DateTime thisDate = new DateTime(2008, 3, 15);
    CultureInfo culture = new CultureInfo("pt-BR");
    Console.WriteLine(thisDate.ToString("d", culture));  // Displays 15/3/2008
    
    ' Display using pt-BR culture's short date format
    Dim thisDate As Date = #03/15/2008#
    Dim culture As New CultureInfo("pt-BR")
    Console.WriteLine(thisDate.ToString("d", culture))   ' Displays 15/3/2008
    
  • Pode transmitir um DateTimeFormatInfo objeto que fornece informações de formatação a um método que tem um IFormatProvider parâmetro. O exemplo seguinte apresenta uma data com o formato de data abreviada de um DateTimeFormatInfo objeto para a cultura hr-HR.

    // Display using date format information from hr-HR culture
    DateTime thisDate = new DateTime(2008, 3, 15);
    DateTimeFormatInfo fmt = (new CultureInfo("hr-HR")).DateTimeFormat;
    Console.WriteLine(thisDate.ToString("d", fmt));      // Displays 15.3.2008
    
    ' Display using date format information from hr-HR culture
    Dim thisDate As Date = #03/15/2008#
    Dim fmt As DateTimeFormatInfo = (New CultureInfo("hr-HR")).DateTimeFormat
    Console.WriteLine(thisDate.ToString("d", fmt))   ' Displays 15.3.2008
    

Nota

Para obter informações sobre como personalizar os padrões ou cadeias utilizados na formatação de valores de data e hora, consulte o tópico de NumberFormatInfo classe.

Em alguns casos, a cadeia de formato padrão serve como uma abreviatura conveniente para uma cadeia de formato personalizada mais longa que é invariável. Quatro cadeias de formato padrão enquadram-se nesta categoria: "O" (ou "o"), "R" (ou "r"), "s" e "u". Estas cadeias correspondem a cadeias de formato personalizadas definidas pela cultura invariante. Produzem representações de cadeia de carateres de valores de data e hora que se destinam a ser idênticos entre culturas. A tabela seguinte fornece informações sobre estas quatro cadeias de formato de data e hora padrão.

Cadeia de formato padrão Definido pela propriedade DateTimeFormatInfo.InvariantInfo Cadeia de formato personalizado
"O" ou "o" Nenhuma yyyy'-'MM'-'dd'T'HH':'mm':'ss'. fffffffK
"R" ou "r" RFC1123Pattern ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
"s" SortableDateTimePattern yyyy'-'MM'-'dd'T'HH':'mm':'ss
"u" UniversalSortableDateTimePattern yyyy'-'MM'-'dd HH':'mm':'ss'Z'

As cadeias de formato padrão também podem ser utilizadas em operações de análise com os DateTime.ParseExact métodos ou DateTimeOffset.ParseExact , que requerem uma cadeia de entrada para estar exatamente em conformidade com um padrão específico para que a operação de análise seja bem-sucedida. Muitas cadeias de formato padrão mapeiam para múltiplas cadeias de formato personalizado, pelo que um valor de data e hora pode ser representado numa variedade de formatos e a operação de análise continuará a ser bem-sucedida. Pode determinar a cadeia de formato personalizado ou cadeias que correspondem a uma cadeia de formato padrão ao chamar o DateTimeFormatInfo.GetAllDateTimePatterns(Char) método . O exemplo seguinte apresenta as cadeias de formato personalizado que mapeiam para a cadeia de formato padrão "d" (padrão de data abreviada).

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("'d' standard format string:");
      foreach (var customString in DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns('d'))
          Console.WriteLine("   {0}", customString);
   }
}
// The example displays the following output:
//       'd' standard format string:
//          M/d/yyyy
//          M/d/yy
//          MM/dd/yy
//          MM/dd/yyyy
//          yy/MM/dd
//          yyyy-MM-dd
//          dd-MMM-yy
Imports System.Globalization

Module Example
    Public Sub Main()
        Console.WriteLine("'d' standard format string:")
        For Each customString In DateTimeFormatInfo.CurrentInfo.GetAllDateTimePatterns("d"c)
            Console.WriteLine("   {0}", customString)
        Next
    End Sub
End Module
' The example displays the following output:
'    'd' standard format string:
'       M/d/yyyy
'       M/d/yy
'       MM/dd/yy
'       MM/dd/yyyy
'       yy/MM/dd
'       yyyy-MM-dd
'       dd-MMM-yy

As secções seguintes descrevem os especificadores de formato padrão para DateTime os valores e DateTimeOffset .

Formatos de data

Este grupo inclui os seguintes formatos:

O especificador do formato de data abreviada ("d")

O especificador de formato padrão "d" representa uma cadeia de formato de data e hora personalizada definida pela propriedade de DateTimeFormatInfo.ShortDatePattern uma cultura específica. Por exemplo, a cadeia de formato personalizado devolvida pela ShortDatePattern propriedade da cultura invariante é "MM/dd/aaaa".

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que controlam a formatação da cadeia devolvida.

Propriedade Descrição
ShortDatePattern Define o formato geral da cadeia de resultados.
DateSeparator Define a cadeia que separa os componentes de ano, mês e dia de uma data.

O exemplo seguinte utiliza o especificador de formato "d" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008,4, 10);
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008
Console.WriteLine(date1.ToString("d",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays 4/10/2008
Console.WriteLine(date1.ToString("d",
                  CultureInfo.CreateSpecificCulture("en-NZ")));
// Displays 10/04/2008
Console.WriteLine(date1.ToString("d",
                  CultureInfo.CreateSpecificCulture("de-DE")));
// Displays 10.04.2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("d", DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008
Console.WriteLine(date1.ToString("d", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays 4/10/2008                       
Console.WriteLine(date1.ToString("d", _
                  CultureInfo.CreateSpecificCulture("en-NZ")))
' Displays 10/04/2008                       
Console.WriteLine(date1.ToString("d", _
                  CultureInfo.CreateSpecificCulture("de-DE")))
' Displays 10.04.2008                       

Voltar à tabela

O especificador de formato de data longa ("D")

O especificador de formato padrão "D" representa uma cadeia de formato de data e hora personalizada definida pela propriedade atual DateTimeFormatInfo.LongDatePattern . Por exemplo, a cadeia de formato personalizado para a cultura invariante é "dddd, dd MMMM yyyyy".

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que controlam a formatação da cadeia devolvida.

Propriedade Descrição
LongDatePattern Define o formato geral da cadeia de resultados.
DayNames Define os nomes de dia localizados que podem aparecer na cadeia de resultados.
MonthNames Define os nomes dos meses localizados que podem aparecer na cadeia de resultados.

O exemplo seguinte utiliza o especificador de formato "D" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10);
Console.WriteLine(date1.ToString("D",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008
Console.WriteLine(date1.ToString("D",
                  CultureInfo.CreateSpecificCulture("pt-BR")));
// Displays quinta-feira, 10 de abril de 2008
Console.WriteLine(date1.ToString("D",
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays jueves, 10 de abril de 2008
Dim date1 As Date = #4/10/2008#
Console.WriteLine(date1.ToString("D", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008                        
Console.WriteLine(date1.ToString("D", _
                  CultureInfo.CreateSpecificCulture("pt-BR")))
' Displays quinta-feira, 10 de abril de 2008                        
Console.WriteLine(date1.ToString("D", _
                  CultureInfo.CreateSpecificCulture("es-MX")))
' Displays jueves, 10 de abril de 2008                        

Voltar à tabela

Date and time formats (Formatos de data e hora)

Este grupo inclui os seguintes formatos:

O especificador de formato de data curta ("f") completo

O especificador de formato padrão "f" representa uma combinação dos padrões de data longa ("D") e de hora curta ("t"), separados por um espaço.

A cadeia de resultados é afetada pelas informações de formatação de um objeto específico DateTimeFormatInfo . A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado devolvido pelas DateTimeFormatInfo.LongDatePattern propriedades e DateTimeFormatInfo.ShortTimePattern de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
LongDatePattern Define o formato do componente de data da cadeia de resultados.
ShortTimePattern Define o formato do componente de tempo da cadeia de resultados.
DayNames Define os nomes dos dias localizados que podem aparecer na cadeia de resultados.
MonthNames Define os nomes de mês localizados que podem aparecer na cadeia de resultados.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O exemplo seguinte utiliza o especificador de formato "f" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("f",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30 AM
Console.WriteLine(date1.ToString("f",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("f", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30 AM                        
Console.WriteLine(date1.ToString("f", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30                       

Voltar à tabela

O especificador de formato de longa duração da data completa ("F")

O especificador de formato padrão "F" representa uma cadeia de formato de data e hora personalizada definida pela propriedade atual DateTimeFormatInfo.FullDateTimePattern . Por exemplo, a cadeia de formato personalizado para a cultura invariante é "dddd, dd MMMM aaaa HH:mm:ss".

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado que é devolvido pela FullDateTimePattern propriedade de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
FullDateTimePattern Define o formato geral da cadeia de resultados.
DayNames Define os nomes dos dias localizados que podem aparecer na cadeia de resultados.
MonthNames Define os nomes de mês localizados que podem aparecer na cadeia de resultados.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O exemplo seguinte utiliza o especificador de formato "F" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("F",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 6:30:00 AM
Console.WriteLine(date1.ToString("F",
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays jeudi 10 avril 2008 06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("F", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 6:30:00 AM                        
Console.WriteLine(date1.ToString("F", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays jeudi 10 avril 2008 06:30:00                       

Voltar à tabela

O especificador de formato de data curta ("g") geral

O especificador de formato padrão "g" representa uma combinação dos padrões de data curta ("d") e de curto prazo ("t"), separados por um espaço.

A cadeia de resultados é afetada pelas informações de formatação de um objeto específico DateTimeFormatInfo . A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado devolvido pelas DateTimeFormatInfo.ShortDatePattern propriedades e DateTimeFormatInfo.ShortTimePattern de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
ShortDatePattern Define o formato do componente de data da cadeia de resultados.
ShortTimePattern Define o formato do componente de tempo da cadeia de resultados.
DateSeparator Define a cadeia que separa os componentes ano, mês e dia de uma data.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O exemplo seguinte utiliza o especificador de formato "g" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("g",
                  DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30
Console.WriteLine(date1.ToString("g",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30 AM
Console.WriteLine(date1.ToString("g",
                  CultureInfo.CreateSpecificCulture("fr-BE")));
// Displays 10/04/2008 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("g", _
                  DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30                      
Console.WriteLine(date1.ToString("g", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30 AM                       
Console.WriteLine(date1.ToString("g", _
                  CultureInfo.CreateSpecificCulture("fr-BE")))
' Displays 10/04/2008 6:30                        

Voltar à tabela

O especificador de formato de longa duração da data geral ("G")

O especificador de formato padrão "G" representa uma combinação dos padrões de data curta ("d") e de longa data ("T"), separados por um espaço.

A cadeia de resultados é afetada pelas informações de formatação de um objeto específico DateTimeFormatInfo . A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado devolvido pelas DateTimeFormatInfo.ShortDatePattern propriedades e DateTimeFormatInfo.LongTimePattern de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
ShortDatePattern Define o formato do componente de data da cadeia de resultados.
LongTimePattern Define o formato do componente de tempo da cadeia de resultados.
DateSeparator Define a cadeia que separa os componentes ano, mês e dia de uma data.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O exemplo seguinte utiliza o especificador de formato "G" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("G",
                  DateTimeFormatInfo.InvariantInfo));
// Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 4/10/2008 6:30:00 AM
Console.WriteLine(date1.ToString("G",
                  CultureInfo.CreateSpecificCulture("nl-BE")));
// Displays 10/04/2008 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("G", _
                  DateTimeFormatInfo.InvariantInfo))
' Displays 04/10/2008 06:30:00
Console.WriteLine(date1.ToString("G", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 4/10/2008 6:30:00 AM                        
Console.WriteLine(date1.ToString("G", _
                  CultureInfo.CreateSpecificCulture("nl-BE")))
' Displays 10/04/2008 6:30:00                       

Voltar à tabela

O especificador do formato de ida e volta ("O", "o")

O especificador de formato padrão "O" ou "o" representa uma cadeia de formato de data e hora personalizada com um padrão que preserva as informações do fuso horário e emite uma cadeia de resultados que está em conformidade com ISO 8601. Para DateTime valores, este especificador de formato foi concebido para preservar valores de data e hora, juntamente com a DateTime.Kind propriedade no texto. A cadeia formatada pode ser analisada novamente utilizando o DateTime.Parse(String, IFormatProvider, DateTimeStyles) método ou DateTime.ParseExact se o styles parâmetro estiver definido como DateTimeStyles.RoundtripKind.

O especificador de formato padrão "O" ou "o" corresponde ao "yyy'-'MM'-dd'T'HH':'mm':'ss'." fffffffK" cadeia de formato personalizado para DateTime valores e para "yyy'-'MM'-'dd'T'HH':'mm':'ss'." fffffffzzz" cadeia de formato personalizado para DateTimeOffset valores. Nesta cadeia, os pares de aspas que delimitam carateres individuais, como os hífenes, os dois pontos e a letra "T", indicam que o caráter individual é um literal que não pode ser alterado. Os apóstrofos não aparecem na cadeia de saída.

O especificador de formato padrão "O" ou "o" (e o "yyyyy"-'MM'-dd'T'HH':'mm':'ss'.' fffffffK" cadeia de formato personalizado) tira partido das três formas que ISO 8601 representa informações de fuso horário para preservar a Kind propriedade dos DateTime valores:

  • O componente de fuso horário dos valores de DateTimeKind.Local data e hora é um desvio de UTC (por exemplo, +01:00, -07:00). Todos os DateTimeOffset valores também são representados neste formato.

  • O componente de fuso horário dos valores de DateTimeKind.Utc data e hora utiliza "Z" (que significa desvio zero) para representar UTC.

  • DateTimeKind.Unspecified os valores de data e hora não têm informações de fuso horário.

Uma vez que o especificador de formato padrão "O" ou "o" está em conformidade com uma norma internacional, a operação de formatação ou análise que utiliza o especificador utiliza sempre a cultura invariante e o calendário gregoriano.

As cadeias que são transmitidas para os Parsemétodos , TryParse, ParseExacte TryParseExact de DateTime e DateTimeOffset podem ser analisadas através do especificador de formato "O" ou "o" se estiverem num destes formatos. No caso dos DateTime objetos, a sobrecarga de análise a que chama também deve incluir um styles parâmetro com um valor de DateTimeStyles.RoundtripKind. Tenha em atenção que se chamar um método de análise com a cadeia de formato personalizado que corresponde ao especificador de formato "O" ou "o", não obterá os mesmos resultados que "O" ou "o". Isto deve-se ao facto de os métodos de análise que utilizam uma cadeia de formato personalizado não poderem analisar a representação da cadeia de carateres dos valores de data e hora que não têm um componente de fuso horário ou utilizar "Z" para indicar UTC.

O exemplo seguinte utiliza o especificador de formato "o" para apresentar uma série de DateTime valores e um DateTimeOffset valor num sistema no Fuso Horário do Pacífico dos EUA.

using System;

public class Example
{
   public static void Main()
   {
       DateTime dat = new DateTime(2009, 6, 15, 13, 45, 30,
                                   DateTimeKind.Unspecified);
       Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind);

       DateTime uDat = new DateTime(2009, 6, 15, 13, 45, 30,
                                    DateTimeKind.Utc);
       Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind);

       DateTime lDat = new DateTime(2009, 6, 15, 13, 45, 30,
                                    DateTimeKind.Local);
       Console.WriteLine("{0} ({1}) --> {0:O}\n", lDat, lDat.Kind);

       DateTimeOffset dto = new DateTimeOffset(lDat);
       Console.WriteLine("{0} --> {0:O}", dto);
   }
}
// The example displays the following output:
//    6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
//    6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
//    6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
//
//    6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00
Module Example
    Public Sub Main()
        Dim dat As New Date(2009, 6, 15, 13, 45, 30,
                            DateTimeKind.Unspecified)
        Console.WriteLine("{0} ({1}) --> {0:O}", dat, dat.Kind)

        Dim uDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Utc)
        Console.WriteLine("{0} ({1}) --> {0:O}", uDat, uDat.Kind)

        Dim lDat As New Date(2009, 6, 15, 13, 45, 30, DateTimeKind.Local)
        Console.WriteLine("{0} ({1}) --> {0:O}", lDat, lDat.Kind)
        Console.WriteLine()

        Dim dto As New DateTimeOffset(lDat)
        Console.WriteLine("{0} --> {0:O}", dto)
    End Sub
End Module
' The example displays the following output:
'    6/15/2009 1:45:30 PM (Unspecified) --> 2009-06-15T13:45:30.0000000
'    6/15/2009 1:45:30 PM (Utc) --> 2009-06-15T13:45:30.0000000Z
'    6/15/2009 1:45:30 PM (Local) --> 2009-06-15T13:45:30.0000000-07:00
'    
'    6/15/2009 1:45:30 PM -07:00 --> 2009-06-15T13:45:30.0000000-07:00

O exemplo seguinte utiliza o especificador de formato "o" para criar uma cadeia formatada e, em seguida, restaura o valor de data e hora original ao chamar um método de data e hora Parse .

// Round-trip DateTime values.
DateTime originalDate, newDate;
string dateString;
// Round-trip a local time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 10, 6, 30, 0), DateTimeKind.Local);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
                  newDate, newDate.Kind);
// Round-trip a UTC time.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 12, 9, 30, 0), DateTimeKind.Utc);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
                  newDate, newDate.Kind);
// Round-trip time in an unspecified time zone.
originalDate = DateTime.SpecifyKind(new DateTime(2008, 4, 13, 12, 30, 0), DateTimeKind.Unspecified);
dateString = originalDate.ToString("o");
newDate = DateTime.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind,
                  newDate, newDate.Kind);

// Round-trip a DateTimeOffset value.
DateTimeOffset originalDTO = new DateTimeOffset(2008, 4, 12, 9, 30, 0, new TimeSpan(-8, 0, 0));
dateString = originalDTO.ToString("o");
DateTimeOffset newDTO = DateTimeOffset.Parse(dateString, null, DateTimeStyles.RoundtripKind);
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO);
// The example displays the following output:
//    Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
//    Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
//    Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
//    Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.
' Round-trip DateTime values.
Dim originalDate, newDate As Date
Dim dateString As String
' Round-trip a local time.
originalDate = Date.SpecifyKind(#4/10/2008 6:30AM#, DateTimeKind.Local)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
                  newDate, newDate.Kind)
' Round-trip a UTC time.
originalDate = Date.SpecifyKind(#4/12/2008 9:30AM#, DateTimeKind.Utc)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
                  newDate, newDate.Kind)
' Round-trip time in an unspecified time zone.
originalDate = Date.SpecifyKind(#4/13/2008 12:30PM#, DateTimeKind.Unspecified)
dateString = originalDate.ToString("o")
newDate = Date.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} {1} to {2} {3}.", originalDate, originalDate.Kind, _
                  newDate, newDate.Kind)

' Round-trip a DateTimeOffset value.
Dim originalDTO As New DateTimeOffset(#4/12/2008 9:30AM#, New TimeSpan(-8, 0, 0))
dateString = originalDTO.ToString("o")
Dim newDTO As DateTimeOffset = DateTimeOffset.Parse(dateString, Nothing, DateTimeStyles.RoundtripKind)
Console.WriteLine("Round-tripped {0} to {1}.", originalDTO, newDTO)
' The example displays the following output:
'    Round-tripped 4/10/2008 6:30:00 AM Local to 4/10/2008 6:30:00 AM Local.
'    Round-tripped 4/12/2008 9:30:00 AM Utc to 4/12/2008 9:30:00 AM Utc.
'    Round-tripped 4/13/2008 12:30:00 PM Unspecified to 4/13/2008 12:30:00 PM Unspecified.
'    Round-tripped 4/12/2008 9:30:00 AM -08:00 to 4/12/2008 9:30:00 AM -08:00.

Voltar à tabela

O especificador de formato RFC1123 ("R", "r")

O especificador de formato padrão "R" ou "r" representa uma cadeia de formato de data e hora personalizada definida pela DateTimeFormatInfo.RFC1123Pattern propriedade. O padrão reflete um padrão definido e a propriedade é só de leitura. Por conseguinte, é sempre a mesma, independentemente da cultura utilizada ou do fornecedor de formato fornecido. A cadeia de formato personalizado é "ddd, dd MMM yyy HH":'mm':'ss 'GMT'". Quando este especificador de formato padrão é utilizado, a operação de formatação ou análise utiliza sempre a cultura invariante.

A cadeia de resultado é afetada pelas seguintes propriedades do DateTimeFormatInfo objeto devolvido pela DateTimeFormatInfo.InvariantInfo propriedade que representa a cultura invariante.

Propriedade Descrição
RFC1123Pattern Define o formato da cadeia de resultados.
AbbreviatedDayNames Define os nomes abreviados dos dias que podem aparecer na cadeia de resultados.
AbbreviatedMonthNames Define os nomes abreviados do mês que podem aparecer na cadeia de resultados.

Embora a norma RFC 1123 expresse uma hora como Hora Universal Coordenada (UTC), a operação de formatação não modifica o valor do DateTime objeto que está a ser formatado. Por conseguinte, tem de converter o DateTime valor em UTC ao chamar o DateTime.ToUniversalTime método antes de executar a operação de formatação. Por outro lado, DateTimeOffset os valores efetuam esta conversão automaticamente; não é necessário chamar o DateTimeOffset.ToUniversalTime método antes da operação de formatação.

O exemplo seguinte utiliza o especificador de formato "r" para apresentar um valor e um DateTimeDateTimeOffset valor num sistema no Fuso Horário do Pacífico dos E.U.A.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
                            TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Dim date1 As Date = #4/10/2008 6:30AM#
Dim dateOffset As New DateTimeOffset(date1, TimeZoneInfo.Local.GetUtcOFfset(date1))
Console.WriteLine(date1.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT                       
Console.WriteLine(dateOffset.ToUniversalTime.ToString("r"))
' Displays Thu, 10 Apr 2008 13:30:00 GMT                        

Voltar à tabela

O especificador de formato sortable ("s")

O especificador de formato padrão "s" representa uma cadeia de formato de data e hora personalizada definida pela DateTimeFormatInfo.SortableDateTimePattern propriedade. O padrão reflete uma norma definida (ISO 8601) e a propriedade é só de leitura. Por conseguinte, é sempre a mesma, independentemente da cultura utilizada ou do fornecedor de formato fornecido. A cadeia de formato personalizado é "yyyy'-'MM'-'dd'T'HH':'mm':'ss".

O objetivo do especificador de formato "s" é produzir cadeias de resultados que ordenam consistentemente por ordem ascendente ou descendente com base nos valores de data e hora. Como resultado, embora o especificador de formato padrão "s" represente um valor de data e hora num formato consistente, a operação de formatação não modifica o valor do objeto de data e hora que está a ser formatado para refletir a respetiva DateTime.Kind propriedade ou o respetivo DateTimeOffset.Offset valor. Por exemplo, as cadeias de resultados produzidas ao formatar os valores de data e hora 2014-11-15T18:32:17+00:00 e 2014-11-15T18:32:17+08:00 são idênticas.

Quando este especificador de formato padrão é utilizado, a operação de formatação ou análise utiliza sempre a cultura invariante.

O exemplo seguinte utiliza o especificador de formato "s" para apresentar um DateTime e um DateTimeOffset valor num sistema no Fuso Horário do Pacífico dos EUA.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("s"));
// Displays 2008-04-10T06:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("s"))
' Displays 2008-04-10T06:30:00                       

Voltar à tabela

O especificador de formato ordenável universal ("u")

O especificador de formato padrão "u" representa uma cadeia de formato de data e hora personalizada definida pela DateTimeFormatInfo.UniversalSortableDateTimePattern propriedade. O padrão reflete um padrão definido e a propriedade é só de leitura. Por conseguinte, é sempre a mesma, independentemente da cultura utilizada ou do fornecedor de formato fornecido. A cadeia de formato personalizado é "yyyy'-'MM'-dd HH':'mm':'ss'Z'". Quando este especificador de formato padrão é utilizado, a operação de formatação ou análise utiliza sempre a cultura invariante.

Embora a cadeia de resultados deva expressar uma hora como Hora Universal Coordenada (UTC), não é realizada nenhuma conversão do valor original DateTime durante a operação de formatação. Por conseguinte, tem de converter um DateTime valor em UTC ao chamar o método antes de o DateTime.ToUniversalTime formatar. Por outro lado, DateTimeOffset os valores efetuam esta conversão automaticamente; não é necessário chamar o DateTimeOffset.ToUniversalTime método antes da operação de formatação.

O exemplo seguinte utiliza o especificador de formato "u" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToUniversalTime().ToString("u"));
// Displays 2008-04-10 13:30:00Z
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToUniversalTime.ToString("u"))
' Displays 2008-04-10 13:30:00Z                       

Voltar à tabela

O especificador de formato completo universal ("U")

O especificador de formato padrão "U" representa uma cadeia de formato de data e hora personalizada definida pela propriedade de DateTimeFormatInfo.FullDateTimePattern uma cultura especificada. O padrão é o mesmo que o padrão "F". No entanto, o DateTime valor é automaticamente convertido em UTC antes de ser formatado.

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado que é devolvido pela FullDateTimePattern propriedade de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
FullDateTimePattern Define o formato geral da cadeia de resultados.
DayNames Define os nomes dos dias localizados que podem aparecer na cadeia de resultados.
MonthNames Define os nomes de mês localizados que podem aparecer na cadeia de resultados.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O especificador de formato "U" não é suportado pelo DateTimeOffset tipo e lança um FormatException se for utilizado para formatar um DateTimeOffset valor.

O exemplo seguinte utiliza o especificador de formato "U" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("U",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Thursday, April 10, 2008 1:30:00 PM
Console.WriteLine(date1.ToString("U",
                  CultureInfo.CreateSpecificCulture("sv-FI")));
// Displays den 10 april 2008 13:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("en-US")))
' Displays Thursday, April 10, 2008 1:30:00 PM                       
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("sv-FI")))
' Displays den 10 april 2008 13:30:00                       

Voltar à tabela

Formatos de tempo

Este grupo inclui os seguintes formatos:

O especificador de formato de curto prazo ("t")

O especificador de formato padrão "t" representa uma cadeia de formato de data e hora personalizada definida pela propriedade atual DateTimeFormatInfo.ShortTimePattern . Por exemplo, a cadeia de formato personalizado para a cultura invariante é "HH:mm".

A cadeia de resultados é afetada pelas informações de formatação de um objeto específico DateTimeFormatInfo . A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado que é devolvido pela DateTimeFormatInfo.ShortTimePattern propriedade de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
ShortTimePattern Define o formato do componente de tempo da cadeia de resultados.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O exemplo seguinte utiliza o especificador de formato "t" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("t",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30 AM
Console.WriteLine(date1.ToString("t",
                  CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("t", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30 AM                        
Console.WriteLine(date1.ToString("t", _
                  CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30                      

Voltar à tabela

O especificador de formato de longo tempo ("T")

O especificador de formato padrão "T" representa uma cadeia de formato de data e hora personalizada definida pela propriedade de DateTimeFormatInfo.LongTimePattern uma cultura específica. Por exemplo, a cadeia de formato personalizado para a cultura invariante é "HH:mm:ss".

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que podem controlar a formatação da cadeia devolvida. O especificador de formato personalizado que é devolvido pela DateTimeFormatInfo.LongTimePattern propriedade de algumas culturas pode não utilizar todas as propriedades.

Propriedade Descrição
LongTimePattern Define o formato do componente de tempo da cadeia de resultados.
TimeSeparator Define a cadeia que separa os componentes de hora, minuto e segundo de uma hora.
AMDesignator Define a cadeia que indica as horas da meia-noite até ao meio-dia num relógio de 12 horas.
PMDesignator Define a cadeia que indica as horas do meio-dia à meia-noite num relógio de 12 horas.

O exemplo seguinte utiliza o especificador de formato "T" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("T",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays 6:30:00 AM
Console.WriteLine(date1.ToString("T",
                  CultureInfo.CreateSpecificCulture("es-ES")));
// Displays 6:30:00
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("T", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays 6:30:00 AM                       
Console.WriteLine(date1.ToString("T", _
                  CultureInfo.CreateSpecificCulture("es-ES")))
' Displays 6:30:00                      

Voltar à tabela

Formatos de data parciais

Este grupo inclui os seguintes formatos:

O especificador do formato month ("M", "m")

O especificador de formato padrão "M" ou "m" representa uma cadeia de formato de data e hora personalizada definida pela propriedade atual DateTimeFormatInfo.MonthDayPattern . Por exemplo, a cadeia de formato personalizado para a cultura invariante é "MMMM dd".

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que controlam a formatação da cadeia devolvida.

Propriedade Descrição
MonthDayPattern Define o formato geral da cadeia de resultados.
MonthNames Define os nomes de mês localizados que podem aparecer na cadeia de resultados.

O exemplo seguinte utiliza o especificador de formato "m" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("m",
                  CultureInfo.CreateSpecificCulture("en-us")));
// Displays April 10
Console.WriteLine(date1.ToString("m",
                  CultureInfo.CreateSpecificCulture("ms-MY")));
// Displays 10 April
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("m", _
                  CultureInfo.CreateSpecificCulture("en-us")))
' Displays April 10                        
Console.WriteLine(date1.ToString("m", _
                  CultureInfo.CreateSpecificCulture("ms-MY")))
' Displays 10 April                       

Voltar à tabela

O especificador de formato do mês do ano ("Y", "y")

O especificador de formato padrão "Y" ou "y" representa uma cadeia de formato de data e hora personalizada definida pela DateTimeFormatInfo.YearMonthPattern propriedade de uma cultura especificada. Por exemplo, a cadeia de formato personalizado para a cultura invariante é "aaaa MMMM".

A tabela seguinte lista as propriedades do DateTimeFormatInfo objeto que controlam a formatação da cadeia devolvida.

Propriedade Descrição
YearMonthPattern Define o formato geral da cadeia de resultados.
MonthNames Define os nomes de mês localizados que podem aparecer na cadeia de resultados.

O exemplo seguinte utiliza o especificador de formato "y" para apresentar um valor de data e hora.

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("Y",
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays April, 2008
Console.WriteLine(date1.ToString("y",
                  CultureInfo.CreateSpecificCulture("af-ZA")));
// Displays April 2008
Dim date1 As Date = #4/10/2008 6:30AM#
Console.WriteLine(date1.ToString("Y", CultureInfo.CreateSpecificCulture("en-US")))
' Displays April, 2008                       
Console.WriteLine(date1.ToString("y", CultureInfo.CreateSpecificCulture("af-ZA")))
' Displays April 2008                       

Voltar à tabela

definições de Painel de Controlo

No Windows, as definições no item Opções Regionais e de Idioma no Painel de Controlo influenciar a cadeia de resultados produzida por uma operação de formatação. Estas definições são utilizadas para inicializar o DateTimeFormatInfo objeto associado à cultura atual, que fornece valores utilizados para governar a formatação. Os computadores que utilizam definições diferentes geram cadeias de resultados diferentes.

Além disso, se utilizar o CultureInfo(String) construtor para instanciar um novo CultureInfo objeto que representa a mesma cultura da cultura do sistema atual, todas as personalizações estabelecidas pelo item Opções Regionais e de Idioma no Painel de Controlo serão aplicadas ao novo CultureInfo objeto. Pode utilizar o CultureInfo(String, Boolean) construtor para criar um CultureInfo objeto que não reflita as personalizações de um sistema.

Propriedades DateTimeFormatInfo

A formatação é influenciada pelas propriedades do objeto atual DateTimeFormatInfo , que é fornecida implicitamente pela cultura atual ou explicitamente pelo IFormatProvider parâmetro do método que invoca a formatação. Para o parâmetro, a sua aplicação IFormatProvider deve especificar um CultureInfo objeto, que representa uma cultura, ou um DateTimeFormatInfo objeto, que representa as convenções de formatação de data e hora de uma determinada cultura. Muitos dos especificadores de formato de data e hora padrão são aliases para padrões de formatação definidos pelas propriedades do objeto atual DateTimeFormatInfo . A sua aplicação pode alterar o resultado produzido por alguns especificadores de formato de data e hora padrão ao alterar os padrões de formato de data e hora correspondentes da propriedade correspondente DateTimeFormatInfo .

Ver também