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
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
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 de data longa ("F") completo
- O especificador de formato de data abreviada ("g") geral
- O especificador de formato de data de longa duração ("G") geral
- O especificador do formato de ida e volta ("O", "o")
- O especificador de formato RFC1123 ("R", "r")
- O especificador de formato ("s") ordenável
- O especificador de formato universal ordenável ("u")
- O especificador de formato completo universal ("U")
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
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
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
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
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 Parse
métodos , TryParse
, ParseExact
e 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.
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
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
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
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
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
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
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
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
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 .