Sequências de caracteres de formato padrão de data e hora
Uma sequência de caracteres de formato padrão de data e hora usa um único especificador de formato padrão para definir a representação de um valor de data e hora que é produzido por uma operação de formatação.Qualquer sequência de caracteres de formato de data e hora que contém mais de um caractere, incluindo espaço em branco, é interpretada como uma sequência de caracteres de formato personalizado de data e hora.
Observação: |
---|
Data padrão e seqüências de formato de time podem ser usadas com os DateTime e DateTimeOffset valores. |
Como funcionam as sequências de caracteres de formato padrão
Uma sequência de caracteres de formato padrão é simplesmente um alias para uma sequência de caracteres de formato personalizado.A vantagem de usar um alias para se referir a uma sequência de caracteres de formato personalizado é que, enquanto o alias permanece invariável, a sequência de caracteres de formato personalizado em si pode variar.Isso é importante porque as representações de sequência de caracteres de valores de data e hora normalmente variam de acordo com a cultura.Por exemplo, a sequência de caracteres de formato padrão d indica que um valor de data e hora deve ser exibido usando um formato de data abreviada.Para o cultura invariável, esse padrão é " dd/mm/aaaa ".Para a cultura fr-FR, ele é " dd/mm/aaaa ".Para a cultura ja-JP, ele é " aaaa/mm/dd ".
Se uma sequência de caracteres de formato padrão aponta para uma sequência de formato personalizado de uma cultura, seu aplicativo pode definir a cultura específica cujas sequências de caracteres de formato personalizado são usadas de uma dessas maneiras:
Você pode usar a cultura padrão (ou atual).O exemplo a seguir exibe uma data usando formato de data curto da cultura atual.Nesse caso, a cultura atual é EN-US.
' 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
// 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
Você pode passar um objeto CultureInfo que representa a cultura cuja formatação deve ser usada para um método com um parâmetro IFormatProvider.O exemplo a seguir exibe uma data usando o formato de data curto da cultura pt_BR.
' 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
// 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
Você pode passar um objeto DateTimeFormatInfo que fornece informações de formatação para um método com um parâmetro IFormatProvider.O exemplo a seguir exibe uma data usando o formato de data curto de um objeto DateTimeFormatInfo para a cultura hr-HR.
' 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
// 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
Em alguns casos, a sequência de caracteres de formato padrão serve como uma abreviação conveniente de uma sequência mais longa de formato personalizado que seja invariável.Quatro seqüências de caracteres de formato padrão se encaixam nessa categoria: O (ou o), R (ou r), s, e u. Estas sequências de caracteres correspondem às sequências de formato personalizado definidas pela cultura invariável.Elas produzem representações de sequências de caracteres de valores de data e hora que são feitos para ser idênticos entre culturas.A tabela a seguir fornece informações sobre esses quatro especificadores de formato padrão de data e hora.
Sequência de caracteres de formato padrão |
Definidas pela propriedade DateTimeFormatInfo.InvariantInfo |
Sequência de caracteres de formato personalizado |
---|---|---|
O ou o |
Nenhum |
aaaa '- ' MM' - 'dd'T' HH': 'mm': ' ss '. ' fffffffzz |
R ou r |
RFC1123Pattern |
ddd, dd MMM aaaa HH ': 'mm': ' ss 'GMT' |
s |
SortableDateTimePattern |
aaaa '- ' MM' - 'dd'T' HH': 'mm': ' ss |
u |
UniversalSortableDateTimePattern |
aaaa '- ' MM' -' dd hh ': 'mm': 'ss'Z' |
Especificadores de formato padrão de data e hora
A tabela a seguir descreve os especificadores de formato padrão de data e hora.Salvo indicação em contrário, um determinado especificador de formato padrão de data e hora produz uma representação de sequência de caracteres idêntica independente de ela ser usada com um valor DateTime ou um valor DateTimeOffset.
Especificador de Formato |
Nome |
Descrição |
---|---|---|
d |
Padrão de data abreviada |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade ShortDatePattern atual.Por exemplo, a sequência de caracteres de formato personalizado retornada pela propriedade ShortDatePattern da cultura invariável é " dd/mm/aaaa ". O exemplo a seguir utiliza o especificador de formato d para exibir um valor de data e hora.
|
D |
Padrão de data por extenso |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade LongDatePattern atual.Por exemplo, a sequência de caracteres de formato personalizado para o cultura invariável é "dddd, dd MMMM aaaa". O exemplo a seguir utiliza o especificador de formato D para exibir um valor de data e hora.
|
-F- |
Padrão completo de data/hora (tempo abreviado) |
Representa uma combinação de padrões de data por extenso (D) e tempo abreviado (t), separados por um espaço. O exemplo a seguir utiliza o especificador de formato f para exibir um valor de data e hora.
|
F |
Padrão completo de data/hora (tempo por extenso) |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade FullDateTimePattern atual.Por exemplo, a sequência de caracteres de formato personalizado para a cultura invariável é "dddd, dd MMMM aaaa HH:mm:ss". O exemplo a seguir utiliza o especificador de formato F para exibir um valor de data e hora.
|
-g- |
Padrão geral de data/hora (tempo abreviado) |
Representa uma combinação de padrões de data abreviada (D) e tempo abreviado (t), separados por um espaço.O exemplo a seguir utiliza o especificador de formato g para exibir um valor de data e hora.
|
-G- |
Padrão geral de data/hora (tempo por extenso) |
Representa uma combinação de padrões de data abreviada (d) e tempo por extenso (T), separados por um espaço.O exemplo a seguir utiliza o especificador de formato G para exibir um valor de data e hora.
|
M, m |
Padrão mês dia |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade MonthDayPattern atual.Por exemplo, a sequência de caracteres de formato personalizado para o cultura invariável é "mmmm dd".O exemplo a seguir utiliza o especificador de formato G para exibir um valor de data e hora.
|
O, o |
Padrão de data/hora de processamento |
Representa uma sequência de caracteres de formato personalizado de data e hora usando uma padronagem que preserva informações de fuso horário.Para valores DateTime, este especificador de formato foi projetado para manter valores de data e hora junto à propriedade Kind no texto.Em seguida, a sequência de caracteres formatada pode ser analisada novamente usando Parse ou ParseExact com o valor da propriedade Kind correto. A sequência de caracteres de formato personalizado é " yyyy '- ' MM' - 'dd'T' HH': 'mm': ' ss '. ' fffffffK " para valores DateTime e " yyyy '- ' MM' - 'dd'T' HH': 'mm': ' ss '. ' fffffffzzz " para valores DateTimeOffset.Na seqüência de caracteres, sistema autônomo pares de apóstrofos delimitam caracteres individuais, sistema autônomo sistema autônomo hifens, sistema autônomo dois-pontos e a letra "T", indicam que o caractere individual é um literal não pode ser alterado.Os apóstrofos em si não aparecem na sequência de saída. O padrão para este especificador reflete um padrão definido (ISO 8601).Portanto, ele é sempre o mesmo, independentemente da cultura usada ou do provedor de formato fornecido.Sequências de caracteres que são passadas para o método Parse ou ParseExact devem estar exatamente de acordo com esse padrão de formato personalizado, ou um FormatException é acionado. Quando esse especificador de formato padrão é usado, a operação de formatação ou análise sempre usa a cultura invariável. O exemplo a seguir usa o especificador de formato o para exibir um DateTime e um DateTimeOffset valor em um sistema nos EUA. Padrão do Pacífico time zona.
|
R, r |
Padrão RFC1123 |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade DateTimeFormatInfo.RFC1123Pattern.O padrão reflete um padrão definido e a propriedade é somente leitura.Portanto, ele é sempre o mesmo, independentemente da cultura usada ou do provedor de formato fornecido.A sequência de caracteres de formato personalizado é " DDD, dd mmm aaaa hh ': 'mm': ' ss 'GMT' ". Quando esse especificador de formato padrão é usado, a operação de formatação ou análise sempre usa a cultura invariável. A formatação não modifica o valor do objeto DateTime ou DateTimeOffset que está sendo formatado.Portanto, o aplicativo deve converter o valor para Tempo Universal Coordenado (UTC) antes de usar esse formato padrão. O exemplo a seguir usa o especificador de formato r para exibir um DateTime e um DateTimeOffset valor em um sistema nos EUA. Padrão do Pacífico time zona.
|
s |
Padrão Data/Hora classificável; em conformidade com o ISO 8601 |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade DateTimeFormatInfo.SortableDateTimePattern.O padrão reflete um padrão definido e a propriedade é somente leitura.Portanto, ele é sempre o mesmo, independentemente da cultura usada ou do provedor de formato fornecido.A sequência de caracteres de formato personalizado é " yyyy '- ' MM' - 'dd'T' HH': 'mm': ' ss ". Quando esse especificador de formato padrão é usado, a operação de formatação ou análise sempre usa a cultura invariável. O exemplo a seguir usa o especificador de formato s para exibir um DateTime e um DateTimeOffset valor em um sistema nos EUA. Padrão do Pacífico time zona.
|
t |
Padrão de tempo abreviado |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade ShortTimePattern atual.Por exemplo, a sequência de caracteres de formato personalizado para a cultura invariável é "HH:mm". O exemplo a seguir utiliza o especificador de formato t para exibir um valor de data e hora.
|
T |
Padrão de tempo por extenso |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade LongTimePattern atual.Por exemplo, a sequência de caracteres de formato personalizado para a cultura invariável é "HH:mm:ss". O exemplo a seguir utiliza o especificador de formato T para exibir um valor de data e hora.
|
u |
Padrão data/hora universal classificável |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade DateTimeFormatInfo.UniversalSortableDateTimePattern.O padrão reflete um padrão definido e a propriedade é somente leitura.Portanto, ele é sempre o mesmo, independentemente da cultura usada ou do provedor de formato fornecido.A sequência de caracteres de formato personalizado é " yyyy '- ' MM' - 'dd' HH': 'mm': ' ss'Z' ". Quando esse especificador de formato padrão é usado, a operação de formatação ou análise sempre usa a cultura invariável. A formatação não converte o fuso horário para o objeto de data e hora.Portanto, o aplicativo deve converter uma data e hora em Tempo Universal Coordenado (UTC) antes de usar este especificador de formato. O exemplo a seguir utiliza o especificador de formato u para exibir um valor de data e hora.
|
U |
Padrão completo universal de data/hora |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade FullDateTimePattern atual. O padrão é o mesmo que o padrão F.No entanto, a formatação opera no UTC que é equivalente ao valor DateTime. O especificador de formato U não é suportado pelo tipo DateTimeOffset e gera uma FormatException se ele for usado para formatar um valor DateTimeOffset. O exemplo a seguir utiliza o especificador de formato T para exibir um valor de data e hora.
|
Y, y |
Padrão Ano Mês |
Representa uma sequência de caracteres de formato personalizado de data e hora definida pela propriedade YearMonthPattern atual.Por exemplo, a sequência de caracteres de formato personalizado para a cultura invariável é "aaaa MMMM". O exemplo a seguir utiliza o especificador de formato y para exibir um valor de data e hora.
|
Qualquer outro caractere único |
(Especificador desconhecido) |
Gera um tempo de execução FormatException. |
Configurações do Painel de controle
As configurações de opção regionais e de idioma no Painel de controle influenciam a sequência de caracteres resultante produzida por uma operação de formatação.Essas configurações são usadas para inicializar o objeto DateTimeFormatInfo associado a cultura de segmento atual, que fornece os valores que determinam a formatação.Computadores com configurações diferentes geram diferentes sequências de caracteres como resultado.
Além disso, se o construtor CultureInfo.CultureInfo(String) for usado para criar uma instância de um novo objeto CultureInfo que representa a mesma cultura que a cultura atual do sistema, quaisquer personalizações estabelecidas pelo item Opções Regionais e de Idioma no Painel de controle serão aplicadas ao novo objeto CultureInfo.O método CreateSpecificCulture pode ser usado para criar um objeto CultureInfo que não reflita personalizações de um sistema.
Propriedades DateTimeFormatInfo
A formatação é influenciada pelas propriedades do objeto DateTimeFormatInfo atual, que é fornecido implicitamente pela cultura de segmento atual ou explicitamento pelo parâmetro IFormatProvider do método formatação.Para o parâmetro IFormatProvider, seu aplicativo deve especificar um objeto CultureInfo, que representa uma cultura, ou um objeto DateTimeFormatInfo, que representa as convenções de formatação de data e hora de uma determinada cultura.Muitos dos especificadores de formato padrão de data e hora são aliases para padrões de formatação definidos pelas propriedades do objeto DateTimeFormatInfo atual.Seu aplicativo pode alterar o resultado produzido por alguns especificadores de formato padrão de data e hora alterando os padrões de formatação de data e hora correspondentes da propriedade DateTimeFormatInfo.
Usando sequências de caracteres de formatação padrão
O código a seguir ilustra como usar as sequências de caracteres de formato padrão com valores DateTime.
Dim dt As DateTime = DateTime.Now
Dim dfi As DateTimeFormatInfo = New DateTimeFormatInfo()
Dim ci As CultureInfo = New CultureInfo("de-DE")
' Create a new custom DateTime pattern for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd"
' Use the DateTimeFormat from the culture associated
' with the current thread.
Console.WriteLine( dt.ToString("d") )
Console.WriteLine( dt.ToString("m") )
' Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) )
' Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) )
' Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-BE")
Console.WriteLine( dt.ToString("d") )
' Use a CultureInfo with a format specifier to parse a string.
Dim culter As New CultureInfo("en-US")
Dim myDateTime As DateTime
myDateTime = DateTime.ParseExact("Tuesday, April 10, 2001", "D", culter)
Console.WriteLine(myDateTime.ToString("D"))
DateTime dt = DateTime.Now;
DateTimeFormatInfo dfi = new DateTimeFormatInfo();
CultureInfo ci = new CultureInfo("de-DE");
// Create a new custom DateTime pattern for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd";
// Use the DateTimeFormat from the culture associated
// with the current thread.
Console.WriteLine( dt.ToString("d") );
Console.WriteLine( dt.ToString("m") );
// Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) );
// Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) );
// Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-BE");
Console.WriteLine( dt.ToString("d") );
// Use a CultureInfo with a format specifier to parse a string.
IFormatProvider culter = new CultureInfo("en-US");
DateTime myDateTime = DateTime.ParseExact("Tuesday, April 10, 2001", "D", culter);
Console.WriteLine(myDateTime.ToString("D"));
Exemplo
O exemplo a seguir formata um objeto DateTime usando a cultura de segmento atual, uma cultura especificada e todos os especificadores de formato padrão de data e hora.
' This code example demonstrates the ToString(String) and
' ToString(String, IFormatProvider) methods for the DateTime
' type in conjunction with the standard date and time
' format specifiers.
Imports System
Imports System.Globalization
Imports System.Threading
Class Sample
Public Shared Sub Main()
Dim msgShortDate As String = "(d) Short date: . . . . . . . "
Dim msgLongDate As String = "(D) Long date:. . . . . . . . "
Dim msgShortTime As String = "(t) Short time: . . . . . . . "
Dim msgLongTime As String = "(T) Long time:. . . . . . . . "
Dim msgFullDateShortTime As String = _
"(f) Full date/short time: . . "
Dim msgFullDateLongTime As String = _
"(F) Full date/long time:. . . "
Dim msgGeneralDateShortTime As String = _
"(g) General date/short time:. "
Dim msgGeneralDateLongTime As String = _
"(G) General date/long time (default):" & vbCrLf & _
" . . . . . . . . . . . . . "
Dim msgMonth As String = "(M) Month:. . . . . . . . . . "
Dim msgRFC1123 As String = "(R) RFC1123:. . . . . . . . . "
Dim msgSortable As String = "(s) Sortable: . . . . . . . . "
Dim msgUniSortInvariant As String = _
"(u) Universal sortable (invariant):" & vbCrLf & _
" . . . . . . . . . . . . . "
Dim msgUniFull As String = "(U) Universal full date/time: "
Dim msgYear As String = "(Y) Year: . . . . . . . . . . "
Dim msgRoundtripLocal As String = "(o) Roundtrip (local):. . . . "
Dim msgRoundtripUTC As String = "(o) Roundtrip (UTC):. . . . . "
Dim msgRoundtripUnspecified As String = "(o) Roundtrip (Unspecified):. "
Dim msg1 As String = "Use ToString(String) and the current thread culture." & vbCrLf
Dim msg2 As String = "Use ToString(String, IFormatProvider) and a specified culture." & vbCrLf
Dim msgCulture As String = "Culture:"
Dim msgThisDate As String = "This date and time: {0}" & vbCrLf
Dim thisDate As DateTime = DateTime.Now
Dim utcDate As DateTime = thisDate.ToUniversalTime()
Dim unspecifiedDate As DateTime = new DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind.Unspecified)
Dim ci As CultureInfo
' Format the current date and time in various ways.
Console.Clear()
Console.WriteLine("Standard DateTime Format Specifiers:" & vbCrLf)
Console.WriteLine(msgThisDate, thisDate)
Console.WriteLine(msg1)
' Display the thread current culture, which is used to format the values.
ci = Thread.CurrentThread.CurrentCulture
Console.WriteLine("{0,-30}{1}" & vbCrLf, msgCulture, ci.DisplayName)
Console.WriteLine(msgShortDate & thisDate.ToString("d"))
Console.WriteLine(msgLongDate & thisDate.ToString("D"))
Console.WriteLine(msgShortTime & thisDate.ToString("t"))
Console.WriteLine(msgLongTime & thisDate.ToString("T"))
Console.WriteLine(msgFullDateShortTime & thisDate.ToString("f"))
Console.WriteLine(msgFullDateLongTime & thisDate.ToString("F"))
Console.WriteLine(msgGeneralDateShortTime & thisDate.ToString("g"))
Console.WriteLine(msgGeneralDateLongTime & thisDate.ToString("G"))
Console.WriteLine(msgMonth & thisDate.ToString("M"))
Console.WriteLine(msgRFC1123 & utcDate.ToString("R"))
Console.WriteLine(msgSortable & thisDate.ToString("s"))
Console.WriteLine(msgUniSortInvariant & utcDate.ToString("u"))
Console.WriteLine(msgUniFull & thisDate.ToString("U"))
Console.WriteLine(msgYear & thisDate.ToString("Y"))
Console.WriteLine(msgRoundtripLocal & thisDate.ToString("o"))
Console.WriteLine(msgRoundtripUTC & utcDate.ToString("o"))
Console.WriteLine(msgRoundtripUnspecified & unspecifiedDate.ToString("o"))
Console.WriteLine()
' Display the same values using a CultureInfo object. The CultureInfo class
' implements IFormatProvider.
Console.WriteLine(msg2)
' Display the culture used to format the values.
ci = New CultureInfo("de-DE")
Console.WriteLine("{0,-30}{1}" & vbCrLf, msgCulture, ci.DisplayName)
Console.WriteLine(msgShortDate & thisDate.ToString("d", ci))
Console.WriteLine(msgLongDate & thisDate.ToString("D", ci))
Console.WriteLine(msgShortTime & thisDate.ToString("t", ci))
Console.WriteLine(msgLongTime & thisDate.ToString("T", ci))
Console.WriteLine(msgFullDateShortTime & thisDate.ToString("f", ci))
Console.WriteLine(msgFullDateLongTime & thisDate.ToString("F", ci))
Console.WriteLine(msgGeneralDateShortTime & thisDate.ToString("g", ci))
Console.WriteLine(msgGeneralDateLongTime & thisDate.ToString("G", ci))
Console.WriteLine(msgMonth & thisDate.ToString("M", ci))
Console.WriteLine(msgRFC1123 & utcDate.ToString("R", ci))
Console.WriteLine(msgSortable & thisDate.ToString("s", ci))
Console.WriteLine(msgUniSortInvariant & utcDate.ToString("u", ci))
Console.WriteLine(msgUniFull & thisDate.ToString("U", ci))
Console.WriteLine(msgYear & thisDate.ToString("Y", ci))
Console.WriteLine(msgRoundtripLocal & thisDate.ToString("o"), ci)
Console.WriteLine(msgRoundtripUTC & utcDate.ToString("o"), ci)
Console.WriteLine(msgRoundtripUnspecified & unspecifiedDate.ToString("o"), ci)
Console.WriteLine()
End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'Standard DateTime Format Specifiers:
'
'This date and time: 4/17/2006 2:29:09 PM
'
'Use ToString(String) and the current thread culture.
'
'Culture: English (United States)
'
'(d) Short date: . . . . . . . 4/17/2006
'(D) Long date:. . . . . . . . Monday, April 17, 2006
'(t) Short time: . . . . . . . 2:29 PM
'(T) Long time:. . . . . . . . 2:29:09 PM
'(f) Full date/short time: . . Monday, April 17, 2006 2:29 PM
'(F) Full date/long time:. . . Monday, April 17, 2006 2:29:09 PM
'(g) General date/short time:. 4/17/2006 2:29 PM
'(G) General date/long time (default):
' . . . . . . . . . . . . . 4/17/2006 2:29:09 PM
'(M) Month:. . . . . . . . . . April 17
'(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:29:09 GMT
'(s) Sortable: . . . . . . . . 2006-04-17T14:29:09
'(u) Universal sortable (invariant):
' . . . . . . . . . . . . . 2006-04-17 21:29:09Z
'(U) Universal full date/time: Monday, April 17, 2006 9:29:09 PM
'(Y) Year: . . . . . . . . . . April, 2006
'(o) Roundtrip (local):. . . . 2006-04-17T14:29:09.3011250-07:00
'(o) Roundtrip (UTC):. . . . . 2006-04-17T21:29:09.3011250Z
'(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
'
'Use ToString(String, IFormatProvider) and a specified culture.
'
'Culture: German (Germany)
'
'(d) Short date: . . . . . . . 17.04.2006
'(D) Long date:. . . . . . . . Montag, 17. April 2006
'(t) Short time: . . . . . . . 14:29
'(T) Long time:. . . . . . . . 14:29:09
'(f) Full date/short time: . . Montag, 17. April 2006 14:29
'(F) Full date/long time:. . . Montag, 17. April 2006 14:29:09
'(g) General date/short time:. 17.04.2006 14:29
'(G) General date/long time (default):
' . . . . . . . . . . . . . 17.04.2006 14:29:09
'(M) Month:. . . . . . . . . . 17 April
'(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:29:09 GMT
'(s) Sortable: . . . . . . . . 2006-04-17T14:29:09
'(u) Universal sortable (invariant):
' . . . . . . . . . . . . . 2006-04-17 21:29:09Z
'(U) Universal full date/time: Montag, 17. April 2006 21:29:09
'(Y) Year: . . . . . . . . . . April 2006
'(o) Roundtrip (local):. . . . 2006-04-17T14:29:09.3011250-07:00
'(o) Roundtrip (UTC):. . . . . 2006-04-17T21:29:09.3011250Z
'(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
// This code example demonstrates the ToString(String) and
// ToString(String, IFormatProvider) methods for the DateTime
// type in conjunction with the standard date and time
// format specifiers.
using System;
using System.Globalization;
using System.Threading;
class Sample
{
public static void Main()
{
string msgShortDate = "(d) Short date: . . . . . . . ";
string msgLongDate = "(D) Long date:. . . . . . . . ";
string msgShortTime = "(t) Short time: . . . . . . . ";
string msgLongTime = "(T) Long time:. . . . . . . . ";
string msgFullDateShortTime =
"(f) Full date/short time: . . ";
string msgFullDateLongTime =
"(F) Full date/long time:. . . ";
string msgGeneralDateShortTime =
"(g) General date/short time:. ";
string msgGeneralDateLongTime =
"(G) General date/long time (default):\n" +
" . . . . . . . . . . . . . ";
string msgMonth = "(M) Month:. . . . . . . . . . ";
string msgRFC1123 = "(R) RFC1123:. . . . . . . . . ";
string msgSortable = "(s) Sortable: . . . . . . . . ";
string msgUniSortInvariant =
"(u) Universal sortable (invariant):\n" +
" . . . . . . . . . . . . . ";
string msgUniFull = "(U) Universal full date/time: ";
string msgYear = "(Y) Year: . . . . . . . . . . ";
string msgRoundtripLocal = "(o) Roundtrip (local):. . . . ";
string msgRoundtripUTC = "(o) Roundtrip (UTC):. . . . . ";
string msgRoundtripUnspecified = "(o) Roundtrip (Unspecified):. ";
string msg1 = "Use ToString(String) and the current thread culture.\n";
string msg2 = "Use ToString(String, IFormatProvider) and a specified culture.\n";
string msgCulture = "Culture:";
string msgThisDate = "This date and time: {0}\n";
DateTime thisDate = DateTime.Now;
DateTime utcDate = thisDate.ToUniversalTime();
DateTime unspecifiedDate = new DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind.Unspecified);
CultureInfo ci;
// Format the current date and time in various ways.
Console.Clear();
Console.WriteLine("Standard DateTime Format Specifiers:\n");
Console.WriteLine(msgThisDate, thisDate);
Console.WriteLine(msg1);
// Display the thread current culture, which is used to format the values.
ci = Thread.CurrentThread.CurrentCulture;
Console.WriteLine("{0,-30}{1}\n", msgCulture, ci.DisplayName);
Console.WriteLine(msgShortDate + thisDate.ToString("d"));
Console.WriteLine(msgLongDate + thisDate.ToString("D"));
Console.WriteLine(msgShortTime + thisDate.ToString("t"));
Console.WriteLine(msgLongTime + thisDate.ToString("T"));
Console.WriteLine(msgFullDateShortTime + thisDate.ToString("f"));
Console.WriteLine(msgFullDateLongTime + thisDate.ToString("F"));
Console.WriteLine(msgGeneralDateShortTime + thisDate.ToString("g"));
Console.WriteLine(msgGeneralDateLongTime + thisDate.ToString("G"));
Console.WriteLine(msgMonth + thisDate.ToString("M"));
Console.WriteLine(msgRFC1123 + utcDate.ToString("R"));
Console.WriteLine(msgSortable + thisDate.ToString("s"));
Console.WriteLine(msgUniSortInvariant + utcDate.ToString("u"));
Console.WriteLine(msgUniFull + thisDate.ToString("U"));
Console.WriteLine(msgYear + thisDate.ToString("Y"));
Console.WriteLine(msgRoundtripLocal + thisDate.ToString("o"));
Console.WriteLine(msgRoundtripUTC + utcDate.ToString("o"));
Console.WriteLine(msgRoundtripUnspecified + unspecifiedDate.ToString("o"));
Console.WriteLine();
// Display the same values using a CultureInfo object. The CultureInfo class
// implements IFormatProvider.
Console.WriteLine(msg2);
// Display the culture used to format the values.
ci = new CultureInfo("de-DE");
Console.WriteLine("{0,-30}{1}\n", msgCulture, ci.DisplayName);
Console.WriteLine(msgShortDate + thisDate.ToString("d", ci));
Console.WriteLine(msgLongDate + thisDate.ToString("D", ci));
Console.WriteLine(msgShortTime + thisDate.ToString("t", ci));
Console.WriteLine(msgLongTime + thisDate.ToString("T", ci));
Console.WriteLine(msgFullDateShortTime + thisDate.ToString("f", ci));
Console.WriteLine(msgFullDateLongTime + thisDate.ToString("F", ci));
Console.WriteLine(msgGeneralDateShortTime + thisDate.ToString("g", ci));
Console.WriteLine(msgGeneralDateLongTime + thisDate.ToString("G", ci));
Console.WriteLine(msgMonth + thisDate.ToString("M", ci));
Console.WriteLine(msgRFC1123 + utcDate.ToString("R", ci));
Console.WriteLine(msgSortable + thisDate.ToString("s", ci));
Console.WriteLine(msgUniSortInvariant + utcDate.ToString("u", ci));
Console.WriteLine(msgUniFull + thisDate.ToString("U", ci));
Console.WriteLine(msgYear + thisDate.ToString("Y", ci));
Console.WriteLine(msgRoundtripLocal + thisDate.ToString("o", ci));
Console.WriteLine(msgRoundtripUTC + utcDate.ToString("o", ci));
Console.WriteLine(msgRoundtripUnspecified + unspecifiedDate.ToString("o", ci));
Console.WriteLine();
}
}
/*
This code example produces the following results:
Standard DateTime Format Specifiers:
This date and time: 4/17/2006 2:22:48 PM
Use ToString(String) and the current thread culture.
Culture: English (United States)
(d) Short date: . . . . . . . 4/17/2006
(D) Long date:. . . . . . . . Monday, April 17, 2006
(t) Short time: . . . . . . . 2:22 PM
(T) Long time:. . . . . . . . 2:22:48 PM
(f) Full date/short time: . . Monday, April 17, 2006 2:22 PM
(F) Full date/long time:. . . Monday, April 17, 2006 2:22:48 PM
(g) General date/short time:. 4/17/2006 2:22 PM
(G) General date/long time (default):
. . . . . . . . . . . . . 4/17/2006 2:22:48 PM
(M) Month:. . . . . . . . . . April 17
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:22:48 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:22:48
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:22:48Z
(U) Universal full date/time: Monday, April 17, 2006 9:22:48 PM
(Y) Year: . . . . . . . . . . April, 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:22:48.2698750Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
Use ToString(String, IFormatProvider) and a specified culture.
Culture: German (Germany)
(d) Short date: . . . . . . . 17.04.2006
(D) Long date:. . . . . . . . Montag, 17. April 2006
(t) Short time: . . . . . . . 14:22
(T) Long time:. . . . . . . . 14:22:48
(f) Full date/short time: . . Montag, 17. April 2006 14:22
(F) Full date/long time:. . . Montag, 17. April 2006 14:22:48
(g) General date/short time:. 17.04.2006 14:22
(G) General date/long time (default):
. . . . . . . . . . . . . 17.04.2006 14:22:48
(M) Month:. . . . . . . . . . 17 April
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:22:48 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:22:48
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:22:48Z
(U) Universal full date/time: Montag, 17. April 2006 21:22:48
(Y) Year: . . . . . . . . . . April 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:22:48.2698750Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
*/
// This code example demonstrates the ToString(String) and
// ToString(String, IFormatProvider) methods for the DateTime
// type in conjunction with the standard date and time
// format specifiers.
using namespace System;
using namespace System::Globalization;
using namespace System::Threading;
int main()
{
String^ msgShortDate = "(d) Short date: . . . . . . . ";
String^ msgLongDate = "(D) Long date:. . . . . . . . ";
String^ msgShortTime = "(t) Short time: . . . . . . . ";
String^ msgLongTime = "(T) Long time:. . . . . . . . ";
String^ msgFullDateShortTime =
"(f) Full date/short time: . . ";
String^ msgFullDateLongTime =
"(F) Full date/long time:. . . ";
String^ msgGeneralDateShortTime =
"(g) General date/short time:. ";
String^ msgGeneralDateLongTime =
"(G) General date/long time (default):\n" +
" . . . . . . . . . . . . . ";
String^ msgMonth = "(M) Month:. . . . . . . . . . ";
String^ msgRFC1123 = "(R) RFC1123:. . . . . . . . . ";
String^ msgSortable = "(s) Sortable: . . . . . . . . ";
String^ msgUniSortInvariant =
"(u) Universal sortable (invariant):\n" +
" . . . . . . . . . . . . . ";
String^ msgUniFull = "(U) Universal full date/time: ";
String^ msgYear = "(Y) Year: . . . . . . . . . . ";
String^ msgRoundtripLocal = "(o) Roundtrip (local):. . . . ";
String^ msgRoundtripUTC = "(o) Roundtrip (UTC):. . . . . ";
String^ msgRoundtripUnspecified = "(o) Roundtrip (Unspecified):. ";
String^ msg1 = "Use ToString(String) and the current thread culture.\n";
String^ msg2 = "Use ToString(String, IFormatProvider) and a specified culture.\n";
String^ msgCulture = "Culture:";
String^ msgThisDate = "This date and time: {0}\n";
DateTime^ thisDate = DateTime::Now;
DateTime^ utcDate = thisDate->ToUniversalTime();
DateTime^ unspecifiedDate = gcnew DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind::Unspecified);
CultureInfo^ ci;
// Format the current date and time in various ways.
Console::Clear();
Console::WriteLine("Standard DateTime Format Specifiers:\n");
Console::WriteLine(msgThisDate, thisDate);
Console::WriteLine(msg1);
// Display the thread current culture, which is used to format the values.
ci = Thread::CurrentThread->CurrentCulture;
Console::WriteLine("{0,-30}{1}\n", msgCulture, ci->DisplayName);
Console::WriteLine(msgShortDate + thisDate->ToString("d"));
Console::WriteLine(msgLongDate + thisDate->ToString("D"));
Console::WriteLine(msgShortTime + thisDate->ToString("t"));
Console::WriteLine(msgLongTime + thisDate->ToString("T"));
Console::WriteLine(msgFullDateShortTime + thisDate->ToString("f"));
Console::WriteLine(msgFullDateLongTime + thisDate->ToString("F"));
Console::WriteLine(msgGeneralDateShortTime + thisDate->ToString("g"));
Console::WriteLine(msgGeneralDateLongTime + thisDate->ToString("G"));
Console::WriteLine(msgMonth + thisDate->ToString("M"));
Console::WriteLine(msgRFC1123 + utcDate->ToString("R"));
Console::WriteLine(msgSortable + thisDate->ToString("s"));
Console::WriteLine(msgUniSortInvariant + utcDate->ToString("u"));
Console::WriteLine(msgUniFull + thisDate->ToString("U"));
Console::WriteLine(msgYear + thisDate->ToString("Y"));
Console::WriteLine(msgRoundtripLocal + thisDate->ToString("o"));
Console::WriteLine(msgRoundtripUTC + utcDate->ToString("o"));
Console::WriteLine(msgRoundtripUnspecified + unspecifiedDate->ToString("o"));
Console::WriteLine();
// Display the same values using a CultureInfo object. The CultureInfo class
// implements IFormatProvider.
Console::WriteLine(msg2);
// Display the culture used to format the values.
ci = gcnew CultureInfo("de-DE");
Console::WriteLine("{0,-30}{1}\n", msgCulture, ci->DisplayName);
Console::WriteLine(msgShortDate + thisDate->ToString("d", ci));
Console::WriteLine(msgLongDate + thisDate->ToString("D", ci));
Console::WriteLine(msgShortTime + thisDate->ToString("t", ci));
Console::WriteLine(msgLongTime + thisDate->ToString("T", ci));
Console::WriteLine(msgFullDateShortTime + thisDate->ToString("f", ci));
Console::WriteLine(msgFullDateLongTime + thisDate->ToString("F", ci));
Console::WriteLine(msgGeneralDateShortTime + thisDate->ToString("g", ci));
Console::WriteLine(msgGeneralDateLongTime + thisDate->ToString("G", ci));
Console::WriteLine(msgMonth + thisDate->ToString("M", ci));
Console::WriteLine(msgRFC1123 + utcDate->ToString("R", ci));
Console::WriteLine(msgSortable + thisDate->ToString("s", ci));
Console::WriteLine(msgUniSortInvariant + utcDate->ToString("u", ci));
Console::WriteLine(msgUniFull + thisDate->ToString("U", ci));
Console::WriteLine(msgYear + thisDate->ToString("Y", ci));
Console::WriteLine(msgRoundtripLocal + thisDate->ToString("o", ci));
Console::WriteLine(msgRoundtripUTC + utcDate->ToString("o", ci));
Console::WriteLine(msgRoundtripUnspecified + unspecifiedDate->ToString("o", ci));
Console::WriteLine();
}
/*
This code example produces the following results:
Standard DateTime Format Specifiers:
This date and time: 4/17/2006 2:38:09 PM
Use ToString(String) and the current thread culture.
Culture: English (United States)
(d) Short date: . . . . . . . 4/17/2006
(D) Long date:. . . . . . . . Monday, April 17, 2006
(t) Short time: . . . . . . . 2:38 PM
(T) Long time:. . . . . . . . 2:38:09 PM
(f) Full date/short time: . . Monday, April 17, 2006 2:38 PM
(F) Full date/long time:. . . Monday, April 17, 2006 2:38:09 PM
(g) General date/short time:. 4/17/2006 2:38 PM
(G) General date/long time (default):
. . . . . . . . . . . . . 4/17/2006 2:38:09 PM
(M) Month:. . . . . . . . . . April 17
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:38:09 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:38:09
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:38:09Z
(U) Universal full date/time: Monday, April 17, 2006 9:38:09 PM
(Y) Year: . . . . . . . . . . April, 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:38:09.9417500-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:38:09.9417500Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
Use ToString(String, IFormatProvider) and a specified culture.
Culture: German (Germany)
(d) Short date: . . . . . . . 17.04.2006
(D) Long date:. . . . . . . . Montag, 17. April 2006
(t) Short time: . . . . . . . 14:38
(T) Long time:. . . . . . . . 14:38:09
(f) Full date/short time: . . Montag, 17. April 2006 14:38
(F) Full date/long time:. . . Montag, 17. April 2006 14:38:09
(g) General date/short time:. 17.04.2006 14:38
(G) General date/long time (default):
. . . . . . . . . . . . . 17.04.2006 14:38:09
(M) Month:. . . . . . . . . . 17 April
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:38:09 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:38:09
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:38:09Z
(U) Universal full date/time: Montag, 17. April 2006 21:38:09
(Y) Year: . . . . . . . . . . April 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:38:09.9417500-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:38:09.9417500Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
*/
Consulte também
Conceitos
Sequências de Caracteres de Formatação de Data e Hora
Sequências de Caracteres de Formato Personalizado de Data e Hora