Cadeias de caracteres de formato de data e hora personalizadoCustom date and time format strings

Uma cadeia de caracteres de formato de data e hora define a representação de texto de um valor DateTime ou DateTimeOffset que é resultante de uma operação de formatação.A date and time format string defines the text representation of a DateTime or DateTimeOffset value that results from a formatting operation. Ela também pode definir a representação de um valor de data e hora necessário em uma operação de análise para converter com êxito a cadeia de caracteres para uma data e hora.It can also define the representation of a date and time value that is required in a parsing operation in order to successfully convert the string to a date and time. Uma cadeia de caracteres de formato personalizado consiste em um ou mais especificadores de formato de data e hora personalizado.A custom format string consists of one or more custom date and time format specifiers. Qualquer cadeia de caracteres que não é uma cadeia de caracteres de formato de data e hora padrão é interpretada como uma cadeia de caracteres de formato de data e hora personalizado.Any string that is not a standard date and time format string is interpreted as a custom date and time format string.

Dica

É possível baixar o Utilitário de formatação, um aplicativo que permite aplicar cadeias de caracteres de formato a valores de data e hora ou numéricos e exibir a cadeia de caracteres de resultado.You can download the Formatting Utility, an application that enables you to apply format strings to either date and time or numeric values and displays the result string.

As cadeias de caracteres de formato de data e hora personalizado podem ser usadas tanto com valores DateTime quanto DateTimeOffset.Custom date and time format strings can be used with both DateTime and DateTimeOffset values.

Observação

Alguns dos exemplos de C# neste artigo são executados no executador de código embutido Try.NET e no playground.Some of the C# examples in this article run in the Try.NET inline code runner and playground. Clique no botão Executar para executar um exemplo em uma janela interativa.Select the Run button to run an example in an interactive window. Ao executar o código, é possível modificá-lo e executar o código modificado clicando em Executar novamente.Once you execute the code, you can modify it and run the modified code by selecting Run again. O código modificado será executado na janela interativa ou, se a compilação falhar, a janela interativa exibirá todos as mensagens de erro do compilador C#.The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

O fuso horário local do executador de código embutido Try.NET e do playground é o Tempo Universal Coordenado ou UTC.The local time zone of the Try.NET inline code runner and playground is Coordinated Universal Time, or UTC. Isso pode afetar o comportamento e a saída dos exemplos que ilustram os tipos DateTime, DateTimeOffset e TimeZoneInfo e seus membros.This may affect the behavior and the output of examples that illustrate the DateTime, DateTimeOffset, and TimeZoneInfo types and their members.

Nas operações de formatação, as cadeias de caracteres de formato de data e hora personalizado podem ser usadas com o método ToString de uma instância de data e hora ou com um método que ofereça suporte a formatação de composição.In formatting operations, custom date and time format strings can be used either with the ToString method of a date and time instance or with a method that supports composite formatting. O exemplo a seguir ilustra ambos os usos.The following example illustrates both uses.

DateTime thisDate1 = new DateTime(2011, 6, 10);
Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".");
 
DateTimeOffset thisDate2 = new DateTimeOffset(2011, 6, 10, 15, 24, 16, 
                                              TimeSpan.Zero);
Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}", 
                   thisDate2); 
// The example displays the following output:
//    Today is June 10, 2011.
//    The current date and time: 06/10/11 15:24:16 +00:00
 Dim thisDate1 As Date = #6/10/2011#
 Console.WriteLine("Today is " + thisDate1.ToString("MMMM dd, yyyy") + ".")
 
 Dim thisDate2 As New DateTimeOffset(2011, 6, 10, 15, 24, 16, TimeSpan.Zero)
 Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}", 
                   thisDate2) 
 ' The example displays the following output:
'    Today is June 10, 2011.
'    The current date and time: 06/10/11 15:24:16 +00:00

Em operações de análise, as cadeias de caracteres de formato de data e hora personalizado podem ser usadas com os métodos DateTime.ParseExact, DateTime.TryParseExact, DateTimeOffset.ParseExact e DateTimeOffset.TryParseExact.In parsing operations, custom date and time format strings can be used with the DateTime.ParseExact, DateTime.TryParseExact, DateTimeOffset.ParseExact, and DateTimeOffset.TryParseExact methods. Esses métodos exigem que uma cadeia de caracteres de entrada esteja exatamente de acordo com um padrão específico para que a operação de análise obtenha êxito.These methods require that an input string conforms exactly to a particular pattern for the parse operation to succeed. O exemplo a seguir ilustra uma chamada ao método DateTimeOffset.ParseExact(String, String, IFormatProvider) para analisar uma data que deve incluir um dia, um mês e um ano com dois dígitos.The following example illustrates a call to the DateTimeOffset.ParseExact(String, String, IFormatProvider) method to parse a date that must include a day, a month, and a two-digit year.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] dateValues = { "30-12-2011", "12-30-2011", 
                              "30-12-11", "12-30-11" };
      string pattern = "MM-dd-yy";
      DateTime parsedDate;
      
      foreach (var dateValue in dateValues) {
         if (DateTime.TryParseExact(dateValue, pattern, null, 
                                   DateTimeStyles.None, out parsedDate))
            Console.WriteLine("Converted '{0}' to {1:d}.", 
                              dateValue, parsedDate);
         else
            Console.WriteLine("Unable to convert '{0}' to a date and time.", 
                              dateValue);
      }
   }
}
// The example displays the following output:
//    Unable to convert '30-12-2011' to a date and time.
//    Unable to convert '12-30-2011' to a date and time.
//    Unable to convert '30-12-11' to a date and time.
//    Converted '12-30-11' to 12/30/2011.
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim dateValues() As String = { "30-12-2011", "12-30-2011", 
                                      "30-12-11", "12-30-11" }
      Dim pattern As String = "MM-dd-yy"
      Dim parsedDate As Date
      
      For Each dateValue As String In dateValues
         If DateTime.TryParseExact(dateValue, pattern, Nothing, 
                                   DateTimeStyles.None, parsedDate) Then
            Console.WriteLine("Converted '{0}' to {1:d}.", 
                              dateValue, parsedDate)
         Else
            Console.WriteLine("Unable to convert '{0}' to a date and time.", 
                              dateValue)
         End If                                                         
      Next
   End Sub
End Module
' The example displays the following output:
'    Unable to convert '30-12-2011' to a date and time.
'    Unable to convert '12-30-2011' to a date and time.
'    Unable to convert '30-12-11' to a date and time.
'    Converted '12-30-11' to 12/30/2011.

A tabela a seguir descreve os especificadores de formato de data e hora padrão e exibe uma cadeia de caracteres de resultado produzida por cada especificador de formato.The following table describes the custom date and time format specifiers and displays a result string produced by each format specifier. Por padrão, as cadeias de caracteres de resultado refletem as convenções de formatação da cultura en-US.By default, result strings reflect the formatting conventions of the en-US culture. Se um determinado especificador de formato produz uma cadeia de caracteres de resultado localizada, o exemplo também observa a cultura à qual a cadeia de caracteres de resultado se aplica.If a particular format specifier produces a localized result string, the example also notes the culture to which the result string applies. Para obter informações adicionais sobre como usar cadeias de caracteres de formato data e hora personalizado, confira a seção Observações.For more information about using custom date and time format strings, see the Notes section.

Especificador de formatoFormat specifier DescriçãoDescription ExemplosExamples
"d""d" O dia do mês, de 1 a 31.The day of the month, from 1 through 31.

Para saber mais: O especificador de formato personalizado "d".More information: The "d" Custom Format Specifier.
2009-06-01T13:45:30 -> 12009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 152009-06-15T13:45:30 -> 15
"dd""dd" O dia do mês, de 01 a 31.The day of the month, from 01 through 31.

Para saber mais: O especificador de formato personalizado "dd".More information: The "dd" Custom Format Specifier.
2009-06-01T13:45:30 -> 012009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 152009-06-15T13:45:30 -> 15
"ddd""ddd" O nome abreviado do dia da semana.The abbreviated name of the day of the week.

Para saber mais: O especificador de formato personalizado "ddd".More information: The "ddd" Custom Format Specifier.
2009-06-15T13:45:30 -> Mon (en-US)2009-06-15T13:45:30 -> Mon (en-US)

2009-06-15T13:45:30 -> Пн (ru-RU)2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun.2009-06-15T13:45:30 -> lun. (fr-FR)(fr-FR)
"dddd""dddd" O nome completo do dia da semana.The full name of the day of the week.

Para saber mais: O especificador de formato personalizado "dddd".More information: The "dddd" Custom Format Specifier.
2009-06-15T13:45:30 -> Monday (en-US)2009-06-15T13:45:30 -> Monday (en-US)

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

2009-06-15T13:45:30 -> lundi (fr-FR)2009-06-15T13:45:30 -> lundi (fr-FR)
"f""f" Os décimos de segundo em um valor de data e hora.The tenths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "f".More information: The "f" Custom Format Specifier.
2009-06-15T13:45:30.6170000 -> 62009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.05 -> 02009-06-15T13:45:30.05 -> 0
"ff""ff" Os centésimos de segundo em um valor de data e hora.The hundredths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "ff".More information: The "ff" Custom Format Specifier.
2009-06-15T13:45:30.6170000 -> 612009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> 002009-06-15T13:45:30.0050000 -> 00
"fff""fff" Os milissegundos em um valor de data e hora.The milliseconds in a date and time value.

Para saber mais: O especificador de formato personalizado "fff".More information: The "fff" Custom Format Specifier.
6/15/2009 13:45:30.617 -> 6176/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 -> 0006/15/2009 13:45:30.0005 -> 000
"ffff""ffff" Os décimos de milésimos de segundo em um valor de data e hora.The ten thousandths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "ffff".More information: The "ffff" Custom Format Specifier.
2009-06-15T13:45:30.6175000 -> 61752009-06-15T13:45:30.6175000 -> 6175

2009-06-15T13:45:30.0000500 -> 00002009-06-15T13:45:30.0000500 -> 0000
"fffff""fffff" Os centésimos de milésimos de segundo em um valor de data e hora.The hundred thousandths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "fffff".More information: The "fffff" Custom Format Specifier.
2009-06-15T13:45:30.6175400 -> 617542009-06-15T13:45:30.6175400 -> 61754

6/15/2009 13:45:30.000005 -> 000006/15/2009 13:45:30.000005 -> 00000
"ffffff""ffffff" Os milionésimos de segundo em um valor de data e hora.The millionths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "ffffff".More information: The "ffffff" Custom Format Specifier.
2009-06-15T13:45:30.6175420 -> 6175422009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> 0000002009-06-15T13:45:30.0000005 -> 000000
"fffffff""fffffff" Os décimos de milionésimos de segundo em um valor de data e hora.The ten millionths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "fffffff".More information: The "fffffff" Custom Format Specifier.
2009-06-15T13:45:30.6175425 -> 61754252009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 00011502009-06-15T13:45:30.0001150 -> 0001150
"F""F" Se diferente de zero, os décimos de segundo em um valor de data e hora.If non-zero, the tenths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "F".More information: The "F" Custom Format Specifier.
2009-06-15T13:45:30.6170000 -> 62009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.0500000 -> (nenhuma saída)2009-06-15T13:45:30.0500000 -> (no output)
"FF""FF" Se diferente de zero, os centésimos de segundo em um valor de data e hora.If non-zero, the hundredths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "FF".More information: The "FF" Custom Format Specifier.
2009-06-15T13:45:30.6170000 -> 612009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> (nenhuma saída)2009-06-15T13:45:30.0050000 -> (no output)
"FFF""FFF" Se diferente de zero, os milissegundos em um valor de data e hora.If non-zero, the milliseconds in a date and time value.

Para saber mais: O especificador de formato personalizado "FFF".More information: The "FFF" Custom Format Specifier.
2009-06-15T13:45:30.6170000 -> 6172009-06-15T13:45:30.6170000 -> 617

2009-06-15T13:45:30.0005000 -> (nenhuma saída)2009-06-15T13:45:30.0005000 -> (no output)
"FFFF""FFFF" Se diferente de zero, os décimos de milésimos de segundo em um valor de data e hora.If non-zero, the ten thousandths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "FFFF".More information: The "FFFF" Custom Format Specifier.
2009-06-15T13:45:30.5275000 -> 52752009-06-15T13:45:30.5275000 -> 5275

2009-06-15T13:45:30.0000500 -> (nenhuma saída)2009-06-15T13:45:30.0000500 -> (no output)
"FFFFF""FFFFF" Se diferente de zero, os centésimos de milésimos de segundo em um valor de data e hora.If non-zero, the hundred thousandths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "FFFFF".More information: The "FFFFF" Custom Format Specifier.
2009-06-15T13:45:30.6175400 -> 617542009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (nenhuma saída)2009-06-15T13:45:30.0000050 -> (no output)
"FFFFFF""FFFFFF" Se diferente de zero, os milionésimos de segundo em um valor de data e hora.If non-zero, the millionths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "FFFFFF".More information: The "FFFFFF" Custom Format Specifier.
2009-06-15T13:45:30.6175420 -> 6175422009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> (nenhuma saída)2009-06-15T13:45:30.0000005 -> (no output)
"FFFFFFF""FFFFFFF" Se diferente de zero, os décimos de milionésimos de segundo em um valor de data e hora.If non-zero, the ten millionths of a second in a date and time value.

Para saber mais: O especificador de formato personalizado "FFFFFFF".More information: The "FFFFFFF" Custom Format Specifier.
2009-06-15T13:45:30.6175425 -> 61754252009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001152009-06-15T13:45:30.0001150 -> 000115
"g", "gg""g", "gg" O período ou a era.The period or era.

Para saber mais: O especificador de formato personalizado "g" ou "gg".More information: The "g" or "gg" Custom Format Specifier.
2009-06-15T13:45:30.6170000 -> A.D.2009-06-15T13:45:30.6170000 -> A.D.
"h""h" A hora, usando um relógio de 12 horas de 1 a 12.The hour, using a 12-hour clock from 1 to 12.

Para saber mais: O especificador de formato personalizado "h".More information: The "h" Custom Format Specifier.
2009-06-15T01:45:30 -> 12009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 12009-06-15T13:45:30 -> 1
"hh""hh" A hora, usando um relógio de 12 horas de 01 a 12.The hour, using a 12-hour clock from 01 to 12.

Para saber mais: O especificador de formato personalizado "hh".More information: The "hh" Custom Format Specifier.
2009-06-15T01:45:30 -> 012009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 012009-06-15T13:45:30 -> 01
"H""H" A hora, usando um relógio de 24 horas de 0 a 23.The hour, using a 24-hour clock from 0 to 23.

Para saber mais: O especificador de formato personalizado "H".More information: The "H" Custom Format Specifier.
2009-06-15T01:45:30 -> 12009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 132009-06-15T13:45:30 -> 13
"HH""HH" A hora, usando um relógio de 24 horas de 00 a 23.The hour, using a 24-hour clock from 00 to 23.

Para saber mais: O especificador de formato personalizado "HH".More information: The "HH" Custom Format Specifier.
2009-06-15T01:45:30 -> 012009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 132009-06-15T13:45:30 -> 13
"K""K" Informações de fuso horário.Time zone information.

Para saber mais: O especificador de formato personalizado "K".More information: The "K" Custom Format Specifier.
Com valores de DateTime:With DateTime values:

2009-06-15T13:45:30, Tipo não especificado ->2009-06-15T13:45:30, Kind Unspecified ->

2009-06-15T13:45:30, Tipo Utc -> Z2009-06-15T13:45:30, Kind Utc -> Z

2009-06-15T13:45:30, Tipo local -> -07:00 (depende das configurações do computador local)2009-06-15T13:45:30, Kind Local -> -07:00 (depends on local computer settings)

Com valores de DateTimeOffset:With DateTimeOffset values:

2009-06-15T01:45:30-07:00 --> -07:002009-06-15T01:45:30-07:00 --> -07:00

2009-06-15T08:45:30+00:00 --> +00:002009-06-15T08:45:30+00:00 --> +00:00
"m""m" O minuto, de 0 a 59.The minute, from 0 through 59.

Para saber mais: O especificador de formato personalizado "m".More information: The "m" Custom Format Specifier.
2009-06-15T01:09:30 -> 92009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 292009-06-15T13:29:30 -> 29
"mm""mm" O minuto, de 00 a 59.The minute, from 00 through 59.

Para saber mais: O especificador de formato personalizado "mm".More information: The "mm" Custom Format Specifier.
2009-06-15T01:09:30 -> 092009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 452009-06-15T01:45:30 -> 45
“M”"M" O mês, de 1 a 12.The month, from 1 through 12.

Para saber mais: O especificador de formato personalizado "M".More information: The "M" Custom Format Specifier.
2009-06-15T13:45:30 -> 62009-06-15T13:45:30 -> 6
"MM""MM" O mês, de 01 a 12.The month, from 01 through 12.

Para saber mais: O especificador de formato personalizado "MM".More information: The "MM" Custom Format Specifier.
2009-06-15T13:45:30 -> 062009-06-15T13:45:30 -> 06
"MMM""MMM" O nome do mês abreviado.The abbreviated name of the month.

Para saber mais: O especificador de formato personalizado "MMM".More information: The "MMM" Custom Format Specifier.
2009-06-15T13:45:30 -> Jun (en-US)2009-06-15T13:45:30 -> Jun (en-US)

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

2009-06-15T13:45:30 -> Jun (zu-ZA)2009-06-15T13:45:30 -> Jun (zu-ZA)
"MMMM""MMMM" O nome completo do mês.The full name of the month.

Para saber mais: O especificador de formato personalizado "MMMM".More information: The "MMMM" Custom Format Specifier.
2009-06-15T13:45:30 -> June (en-US)2009-06-15T13:45:30 -> June (en-US)

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

2009-06-15T13:45:30 -> uJuni (zu-ZA)2009-06-15T13:45:30 -> uJuni (zu-ZA)
"s""s" O segundo, de 0 a 59.The second, from 0 through 59.

Para saber mais: O especificador de formato personalizado "s".More information: The "s" Custom Format Specifier.
2009-06-15T13:45:09 -> 92009-06-15T13:45:09 -> 9
"ss""ss" O segundo, de 00 a 59.The second, from 00 through 59.

Para saber mais: O especificador de formato personalizado "ss".More information: The "ss" Custom Format Specifier.
2009-06-15T13:45:09 -> 092009-06-15T13:45:09 -> 09
"t""t" O primeiro caractere do designador AM/PM.The first character of the AM/PM designator.

Para saber mais: O especificador de formato personalizado "t".More information: The "t" Custom Format Specifier.
2009-06-15T13:45:30 -> P (en-US)2009-06-15T13:45:30 -> P (en-US)

2009-06-15T13:45:30 -> 午 (ja-JP)2009-06-15T13:45:30 -> 午 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)2009-06-15T13:45:30 -> (fr-FR)
"tt""tt" O designador AM/PM.The AM/PM designator.

Para saber mais: O especificador de formato personalizado "tt".More information: The "tt" Custom Format Specifier.
2009-06-15T13:45:30 -> PM (en-US)2009-06-15T13:45:30 -> PM (en-US)

2009-06-15T13:45:30 -> 午後 (ja-JP)2009-06-15T13:45:30 -> 午後 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)2009-06-15T13:45:30 -> (fr-FR)
"y""y" O ano, de 0 a 99.The year, from 0 to 99.

Para saber mais: O especificador de formato personalizado "a".More information: The "y" Custom Format Specifier.
0001-01-01T00:00:00 -> 10001-01-01T00:00:00 -> 1

0900-01-01T00:00:00 -> 00900-01-01T00:00:00 -> 0

1900-01-01T00:00:00 -> 01900-01-01T00:00:00 -> 0

2009-06-15T13:45:30 -> 92009-06-15T13:45:30 -> 9

2019-06-15T13:45:30 -> 192019-06-15T13:45:30 -> 19
"yy""yy" O ano, de 00 a 99.The year, from 00 to 99.

Para saber mais: O especificador de formato personalizado "aa".More information: The "yy" Custom Format Specifier.
0001-01-01T00:00:00 -> 010001-01-01T00:00:00 -> 01

0900-01-01T00:00:00 -> 000900-01-01T00:00:00 -> 00

1900-01-01T00:00:00 -> 001900-01-01T00:00:00 -> 00

2019-06-15T13:45:30 -> 192019-06-15T13:45:30 -> 19
"yyy""yyy" O ano, com um mínimo de três dígitos.The year, with a minimum of three digits.

Para saber mais: O especificador de formato personalizado "aaa".More information: The "yyy" Custom Format Specifier.
0001-01-01T00:00:00 -> 0010001-01-01T00:00:00 -> 001

0900-01-01T00:00:00 -> 9000900-01-01T00:00:00 -> 900

1900-01-01T00:00:00 -> 19001900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 20092009-06-15T13:45:30 -> 2009
"yyyy""yyyy" O ano como um número de quatro dígitos.The year as a four-digit number.

Para saber mais: O especificador de formato personalizado "aaaa".More information: The "yyyy" Custom Format Specifier.
0001-01-01T00:00:00 -> 00010001-01-01T00:00:00 -> 0001

0900-01-01T00:00:00 -> 09000900-01-01T00:00:00 -> 0900

1900-01-01T00:00:00 -> 19001900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 20092009-06-15T13:45:30 -> 2009
"yyyyy""yyyyy" O ano como um número de cinco dígitos.The year as a five-digit number.

Para saber mais: O especificador de formato personalizado "aaaaa".More information: The "yyyyy" Custom Format Specifier.
0001-01-01T00:00:00 -> 000010001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 020092009-06-15T13:45:30 -> 02009
"z""z" Diferença de horas em relação ao UTC, sem zeros à esquerda.Hours offset from UTC, with no leading zeros.

Para saber mais: O especificador de formato personalizado "z".More information: The "z" Custom Format Specifier.
2009-06-15T13:45:30-07:00 -> -72009-06-15T13:45:30-07:00 -> -7
"zz""zz" Diferença de horas em relação ao UTC, com um zero à esquerda para um valor de dígito único.Hours offset from UTC, with a leading zero for a single-digit value.

Para saber mais: O especificador de formato personalizado "zz".More information: The "zz" Custom Format Specifier.
2009-06-15T13:45:30-07:00 -> -072009-06-15T13:45:30-07:00 -> -07
"zzz""zzz" Diferença de horas e minutos em relação ao UTC.Hours and minutes offset from UTC.

Para saber mais: O especificador de formato personalizado "zzz".More information: The "zzz" Custom Format Specifier.
2009-06-15T13:45:30-07:00 -> -07:002009-06-15T13:45:30-07:00 -> -07:00
":"":" O separador de hora.The time separator.

Para saber mais: O especificador de formato personalizado ":".More information: The ":" Custom Format Specifier.
2009-06-15T13:45:30 -> : (en-US)2009-06-15T13:45:30 -> : (en-US)

2009-06-15T13:45:30 -> .2009-06-15T13:45:30 -> . (it-IT)(it-IT)

2009-06-15T13:45:30 -> : (ja-JP)2009-06-15T13:45:30 -> : (ja-JP)
"/""/" O separador de data.The date separator.

Mais informações: O especificador de formato personalizado "/".More Information: The "/" Custom Format Specifier.
2009-06-15T13:45:30 -> / (en-US)2009-06-15T13:45:30 -> / (en-US)

2009-06-15T13:45:30 -> - (ar-DZ)2009-06-15T13:45:30 -> - (ar-DZ)

2009-06-15T13:45:30 -> .2009-06-15T13:45:30 -> . (tr-TR)(tr-TR)
"string""string"

'string''string'
Delimitador de cadeia de caracteres literal.Literal string delimiter.

Para saber mais: Literais de caracteres.More information: Character literals.
2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P

2009-06-15T13:45:30 ("arr:" h:m t) -> arr: 1:45 P2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P
% Define o caractere seguinte como um especificador de formato personalizado.Defines the following character as a custom format specifier.

Mais informações:Usar especificadores de formato personalizado simples.More information:Using Single Custom Format Specifiers.
2009-06-15T13:45:30 (%h) -> 12009-06-15T13:45:30 (%h) -> 1
\\ O caractere de escape.The escape character.

Para saber mais: Literais de caracteres e Como usar o caractere de escape.More information: Character literals and Using the Escape Character.
2009-06-15T13:45:30 (h \h) -> 1 h2009-06-15T13:45:30 (h \h) -> 1 h
Qualquer outro caractereAny other character O caractere é copiado, inalterado, para a cadeia de caracteres de resultado.The character is copied to the result string unchanged.

Para saber mais: Literais de caracteres.More information: Character literals.
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

As seções a seguir oferecem informações adicionais sobre cada especificador de formato de data e hora personalizado.The following sections provide additional information about each custom date and time format specifier. A menos que observado do contrário, cada especificador produz uma representação de cadeia de caracteres idêntica independente de ela ser usada com um valor DateTime ou um valor DateTimeOffset.Unless otherwise noted, each specifier produces an identical string representation regardless of whether it's used with a DateTime value or a DateTimeOffset value.

O especificador de formato personalizado "d"The "d" custom format specifier

O especificador de formato personalizado "d" representa o dia do mês como um número de 1 a 31.The "d" custom format specifier represents the day of the month as a number from 1 through 31. Dias de dígito único são formatados sem um zero à esquerda.A single-digit day is formatted without a leading zero.

Se o especificador de formato "d" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "d".If the "d" format specifier is used without other custom format specifiers, it's interpreted as the "d" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "d" em várias cadeias de caracteres de formato.The following example includes the "d" custom format specifier in several format strings.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15); 

Console.WriteLine(date1.ToString("d, M", 
                  CultureInfo.InvariantCulture)); 
// Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", 
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto                                                
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("d, M", _
                  CultureInfo.InvariantCulture)) 
' Displays 29, 8

Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays 29 August
Console.WriteLine(date1.ToString("d MMMM", _
                  CultureInfo.CreateSpecificCulture("es-MX")))
' Displays 29 agosto                                                

Voltar à tabelaBack to table

O especificador de formato personalizado "dd"The "dd" custom format specifier

A cadeia de caracteres de formato personalizado "dd" representa o dia do mês como um número de 01 a 31.The "dd" custom format string represents the day of the month as a number from 01 through 31. Dias de dígito único são formatados com um zero à esquerda.A single-digit day is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "dd" em uma cadeia de caracteres de formato personalizado.The following example includes the "dd" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM", 
                  CultureInfo.InvariantCulture)); 
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture)) 
' 02, 01

Voltar à tabelaBack to table

O especificador de formato personalizado "ddd"The "ddd" custom format specifier

O especificador de formato personalizado "ddd" representa o nome do dia da semana abreviado.The "ddd" custom format specifier represents the abbreviated name of the day of the week. O nome do dia da semana localizado abreviado é recuperado da propriedade DateTimeFormatInfo.AbbreviatedDayNames da cultura atual ou especificada.The localized abbreviated name of the day of the week is retrieved from the DateTimeFormatInfo.AbbreviatedDayNames property of the current or specified culture.

O exemplo a seguir inclui o especificador de formato personalizado "ddd" em uma cadeia de caracteres de formato personalizado.The following example includes the "ddd" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", 
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août                                                
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Voltar à tabelaBack to table

O especificador de formato personalizado "dddd"The "dddd" custom format specifier

O especificador de formato personalizado "dddd" (mais um número qualquer de especificadores "d" adicionais) representa o nome completo do dia da semana.The "dddd" custom format specifier (plus any number of additional "d" specifiers) represents the full name of the day of the week. O nome do dia da semana localizado é recuperado da propriedade DateTimeFormatInfo.DayNames da cultura atual ou especificada.The localized name of the day of the week is retrieved from the DateTimeFormatInfo.DayNames property of the current or specified culture.

O exemplo a seguir inclui o especificador de formato personalizado "dddd" em uma cadeia de caracteres de formato personalizado.The following example includes the "dddd" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", 
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto                                
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Voltar à tabelaBack to table

O especificador de formato personalizado "f"The "f" custom format specifier

O especificador de formato personalizado "f" representa o dígito mais significativo da fração de segundos, ou seja, representa os décimos de segundo em um valor de data e hora.The "f" custom format specifier represents the most significant digit of the seconds fraction; that is, it represents the tenths of a second in a date and time value.

Se o especificador de formato "f" for usado sem outros especificadores de formato, ele será interpretado como o especificador padrão de formato de data e hora "f".If the "f" format specifier is used without other format specifiers, it's interpreted as the "f" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

Quando você usa especificadores de formato "f" como parte de uma cadeia de caracteres de formato fornecida para o método ParseExact, TryParseExact, ParseExact ou TryParseExact, o número de especificadores de formato "f" indica o número de dígitos mais significativos da fração de segundos que deve estar presente para analisar a cadeia de caracteres com sucesso.When you use "f" format specifiers as part of a format string supplied to the ParseExact, TryParseExact, ParseExact, or TryParseExact method, the number of "f" format specifiers indicates the number of most significant digits of the seconds fraction that must be present to successfully parse the string.

O exemplo a seguir inclui o especificador de formato personalizado "f" em uma cadeia de caracteres de formato personalizado.The following example includes the "f" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Voltar à tabelaBack to table

O especificador de formato personalizado "ff"The "ff" custom format specifier

O especificador de formato personalizado "ff" representa os dois dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de segundo em um valor de data e hora.The "ff" custom format specifier represents the two most significant digits of the seconds fraction; that is, it represents the hundredths of a second in a date and time value.

O exemplo a seguir inclui o especificador de formato personalizado "ff" em uma cadeia de caracteres de formato personalizado.following example includes the "ff" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Voltar à tabelaBack to table

O especificador de formato personalizado "fff"The "fff" custom format specifier

O especificador de formato personalizado "fff" representa os três dígitos mais significativos da fração de segundos, ou seja, ele representa os milissegundos em um valor de data e hora.The "fff" custom format specifier represents the three most significant digits of the seconds fraction; that is, it represents the milliseconds in a date and time value.

O exemplo a seguir inclui o especificador de formato personalizado "fff" em uma cadeia de caracteres de formato personalizado.The following example includes the "fff" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Voltar à tabelaBack to table

O especificador de formato personalizado "ffff"The "ffff" custom format specifier

O especificador de formato personalizado "ffff" representa os quatro dígitos mais significativos da fração de segundos, ou seja, ele representa os décimos de milésimos de um segundo em um valor de data e hora.The "ffff" custom format specifier represents the four most significant digits of the seconds fraction; that is, it represents the ten thousandths of a second in a date and time value.

Embora seja possível exibir os décimos de milésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the ten thousandths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT versão 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT version 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "fffff"The "fffff" custom format specifier

O especificador de formato personalizado "fffff" representa os cinco dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de milésimos de um segundo em um valor de data e hora.The "fffff" custom format specifier represents the five most significant digits of the seconds fraction; that is, it represents the hundred thousandths of a second in a date and time value.

Embora seja possível exibir os centésimos de milésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the hundred thousandths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "ffffff"The "ffffff" custom format specifier

O especificador de formato personalizado "ffffff" representa os seis dígitos mais significativos da fração de segundos, ou seja, ele representa os milionésimos de um segundo em um valor de data e hora.The "ffffff" custom format specifier represents the six most significant digits of the seconds fraction; that is, it represents the millionths of a second in a date and time value.

Embora seja possível exibir os milionésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the millionths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "fffffff"The "fffffff" custom format specifier

O especificador de formato personalizado "fffffff" representa os sete dígitos mais significativos da fração de segundos; ou seja, representa os décimos de milionésimos de segundo em um valor de data e hora.The "fffffff" custom format specifier represents the seven most significant digits of the seconds fraction; that is, it represents the ten millionths of a second in a date and time value.

Embora seja possível exibir os décimos de milionésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the ten millionths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "F"The "F" custom format specifier

O especificador de formato personalizado "F" representa o dígito mais significativo da fração de segundos, ou seja, representa os décimos de segundo em um valor de data e hora.The "F" custom format specifier represents the most significant digit of the seconds fraction; that is, it represents the tenths of a second in a date and time value. Nada será exibido se o dígito for zero.Nothing is displayed if the digit is zero.

Se o especificador de formato "F" for usado sem outros especificadores de formato, ele será interpretado como o especificador padrão de formato de data e hora "F".If the "F" format specifier is used without other format specifiers, it's interpreted as the "F" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O número de especificadores de formato "F" usados com o método ParseExact, TryParseExact, ParseExact ou TryParseExact indica o número máximo de dígitos significativos da fração de segundos que podem estar presentes para que a análise da cadeia de caracteres seja feita com êxito.The number of "F" format specifiers used with the ParseExact, TryParseExact, ParseExact, or TryParseExact method indicates the maximum number of most significant digits of the seconds fraction that can be present to successfully parse the string.

O exemplo a seguir inclui o especificador de formato personalizado "F" em uma cadeia de caracteres de formato personalizado.The following example includes the "F" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Voltar à tabelaBack to table

O especificador de formato personalizado "FF"The "FF" custom format specifier

O especificador de formato personalizado "FF" representa os dois dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de segundo em um valor de data e hora.The "FF" custom format specifier represents the two most significant digits of the seconds fraction; that is, it represents the hundredths of a second in a date and time value. No entanto, zeros à direita ou dois dígitos zero não são exibidos.However, trailing zeros or two zero digits aren't displayed.

O exemplo a seguir inclui o especificador de formato personalizado "FF" em uma cadeia de caracteres de formato personalizado.The following example includes the "FF" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Voltar à tabelaBack to table

O especificador de formato personalizado "FFF"The "FFF" custom format specifier

O especificador de formato personalizado "FFF" representa os três dígitos mais significativos da fração de segundos, ou seja, ele representa os milissegundos em um valor de data e hora.The "FFF" custom format specifier represents the three most significant digits of the seconds fraction; that is, it represents the milliseconds in a date and time value. No entanto, zeros à direita ou três dígitos zero não são exibidos.However, trailing zeros or three zero digits aren't displayed.

O exemplo a seguir inclui o especificador de formato personalizado "FFF" em uma cadeia de caracteres de formato personalizado.The following example includes the "FFF" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Dim date1 As New Date(2008, 8, 29, 19, 27, 15, 018)
Dim ci As CultureInfo = CultureInfo.InvariantCulture

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci))
' Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci))
' Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci))
' Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci))
' Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci))
' Displays 07:27:15.018

Voltar à tabelaBack to table

O especificador de formato personalizado "FFFF"The "FFFF" custom format specifier

O especificador de formato personalizado "FFFF" representa os quatro dígitos mais significativos da fração de segundos, ou seja, ele representa os décimos de milésimos de um segundo em um valor de data e hora.The "FFFF" custom format specifier represents the four most significant digits of the seconds fraction; that is, it represents the ten thousandths of a second in a date and time value. No entanto, zeros à direita ou quatro dígitos zero não são exibidos.However, trailing zeros or four zero digits aren't displayed.

Embora seja possível exibir os décimos de milésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the ten thousandths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "FFFFF"The "FFFFF" custom format specifier

O especificador de formato personalizado "FFFFF" representa os cinco dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de milésimos de um segundo em um valor de data e hora.The "FFFFF" custom format specifier represents the five most significant digits of the seconds fraction; that is, it represents the hundred thousandths of a second in a date and time value. No entanto, zeros à direita ou cinco dígitos zero não são exibidos.However, trailing zeros or five zero digits aren't displayed.

Embora seja possível exibir os centésimos de milésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the hundred thousandths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "FFFFFF"The "FFFFFF" custom format specifier

O especificador de formato personalizado "FFFFFF" representa os seis dígitos mais significativos da fração de segundos, ou seja, ele representa os milionésimos de um segundo em um valor de data e hora.The "FFFFFF" custom format specifier represents the six most significant digits of the seconds fraction; that is, it represents the millionths of a second in a date and time value. No entanto, zeros à direita ou seis dígitos zero não são exibidos.However, trailing zeros or six zero digits aren't displayed.

Embora seja possível exibir os milionésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the millionths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "FFFFFFF"The "FFFFFFF" custom format specifier

O especificador de formato personalizado "FFFFFFF" representa os sete dígitos mais significativos da fração de segundos; ou seja, representa os décimos de milionésimos de segundo em um valor de data e hora.The "FFFFFFF" custom format specifier represents the seven most significant digits of the seconds fraction; that is, it represents the ten millionths of a second in a date and time value. No entanto, zeros à direita ou sete dígitos zero não são exibidos.However, trailing zeros or seven zero digits aren't displayed.

Embora seja possível exibir os décimos de milionésimos de um componente de segundos de um valor temporal, esse valor pode não ser significativo.Although it's possible to display the ten millionths of a second component of a time value, that value may not be meaningful. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema.The precision of date and time values depends on the resolution of the system clock. Nos sistemas operacionais Windows NT 3.5 (e posterior) e Windows Vista, a resolução do relógio é de aproximadamente 10 a 15 milissegundos.On the Windows NT 3.5 (and later) and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

Voltar à tabelaBack to table

O especificador de formato personalizado "g" ou "gg"The "g" or "gg" custom format specifier

Os especificadores de formato personalizado "g" ou "gg" (mais qualquer número de especificadores "g" adicionais) representam o período ou a era, como A.D.The "g" or "gg" custom format specifiers (plus any number of additional "g" specifiers) represents the period or era, such as A.D. A operação de formatação ignora esse especificador quando a data a ser formatada não tem uma cadeia de caracteres de era ou período associada.The formatting operation ignores this specifier if the date to be formatted doesn't have an associated period or era string.

Se o especificador de formato "g" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "g".If the "g" format specifier is used without other custom format specifiers, it's interpreted as the "g" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "g" em uma cadeia de caracteres de formato personalizado.The following example includes the "g" custom format specifier in a custom format string.

DateTime date1 = new DateTime(70, 08, 04);

Console.WriteLine(date1.ToString("MM/dd/yyyy g", 
                  CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.                        
Console.WriteLine(date1.ToString("MM/dd/yyyy g", 
                  CultureInfo.CreateSpecificCulture("fr-FR")));                         
// Displays 08/04/0070 ap. J.-C.
Dim date1 As Date = #08/04/0070#

Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.InvariantCulture))
' Displays 08/04/0070 A.D.                        
Console.WriteLine(date1.ToString("MM/dd/yyyy g", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))                         
' Displays 08/04/0070 ap. J.-C.

Voltar à tabelaBack to table

O especificador de formato personalizado "h"The "h" custom format specifier

O especificador de formato personalizado "h" representa a hora como um número de 1 a 12, ou seja, a hora é representada por um relógio de 12 horas que conta todas as horas desde a meia-noite.The "h" custom format specifier represents the hour as a number from 1 through 12; that is, the hour is represented by a 12-hour clock that counts the whole hours since midnight or noon. Uma hora específica após a meia-noite é indistinguível da mesma hora depois do meio-dia.A particular hour after midnight is indistinguishable from the same hour after noon. A hora não é arredondada e uma hora de dígito único é formatada sem um zero à esquerda.The hour is not rounded, and a single-digit hour is formatted without a leading zero. Por exemplo, considerando a hora 5:43 da manhã ou da tarde, este especificador de formato personalizado exibe “5".For example, given a time of 5:43 in the morning or afternoon, this custom format specifier displays "5".

Se o especificador de formato "h" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará uma FormatException.If the "h" format specifier is used without other custom format specifiers, it's interpreted as a standard date and time format specifier and throws a FormatException. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "h" em uma cadeia de caracteres de formato personalizado.The following example includes the "h" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ                        
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Voltar à tabelaBack to table

O especificador de formato personalizado "hh"The "hh" custom format specifier

O especificador de formato personalizado "hh" (mais qualquer número de especificadores "h" adicionais) representa a hora como um número de 01 a 12, ou seja, a hora é representada por um relógio de 12 horas que conta todas as horas desde a meia-noite ou o meio-dia.The "hh" custom format specifier (plus any number of additional "h" specifiers) represents the hour as a number from 01 through 12; that is, the hour is represented by a 12-hour clock that counts the whole hours since midnight or noon. Uma hora específica após a meia-noite é indistinguível da mesma hora depois do meio-dia.A particular hour after midnight is indistinguishable from the same hour after noon. A hora não é arredondada e uma hora de dígito único é formatada com um zero à esquerda.The hour is not rounded, and a single-digit hour is formatted with a leading zero. Por exemplo, considerando a hora 5:43 da manhã ou da tarde, este especificador de formato exibe “05".For example, given a time of 5:43 in the morning or afternoon, this format specifier displays "05".

O exemplo a seguir inclui o especificador de formato personalizado "hh" em uma cadeia de caracteres de formato personalizado.The following example includes the "hh" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Voltar à tabelaBack to table

O especificador de formato personalizado "H"The "H" custom format specifier

O especificador de formato personalizado "H" representa a hora como um número de 0 a 23; ou seja, a hora é representada por um relógio de 24 horas baseado em zero que conta todas as horas desde a meia-noite.The "H" custom format specifier represents the hour as a number from 0 through 23; that is, the hour is represented by a zero-based 24-hour clock that counts the hours since midnight. Uma hora de dígito único é formatada sem um zero à esquerda.A single-digit hour is formatted without a leading zero.

Se o especificador de formato "H" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará uma FormatException.If the "H" format specifier is used without other custom format specifiers, it's interpreted as a standard date and time format specifier and throws a FormatException. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "H" em uma cadeia de caracteres de formato personalizado.The following example includes the "H" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("H:mm:ss", 
                  CultureInfo.InvariantCulture));
// Displays 6:09:01              
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("H:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 6:09:01                        

Voltar à tabelaBack to table

O especificador de formato personalizado "HH"The "HH" custom format specifier

O especificador de formato personalizado "HH" (mais qualquer número de especificadores "H" adicionais) representa a hora como um número de 00 a 23; ou seja, a hora é representada por um relógio de 24 horas baseado em zero que conta todas as horas desde a meia-noite.The "HH" custom format specifier (plus any number of additional "H" specifiers) represents the hour as a number from 00 through 23; that is, the hour is represented by a zero-based 24-hour clock that counts the hours since midnight. Uma hora de dígito único é formatada com um zero à esquerda.A single-digit hour is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "HH" em uma cadeia de caracteres de formato personalizado.The following example includes the "HH" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 1, 1, 6, 9, 1);
Console.WriteLine(date1.ToString("HH:mm:ss", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01                        
Dim date1 As Date = #6:09:01AM#
Console.WriteLine(date1.ToString("HH:mm:ss", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01                        

Voltar à tabelaBack to table

O especificador de formato personalizado "K"The "K" custom format specifier

O especificador de formato personalizado "K" representa as informações de fuso horário de um valor temporal.The "K" custom format specifier represents the time zone information of a date and time value. Quando esse especificador de formato é usado com valores DateTime, a cadeia de caracteres de resultado é definida pelo valor da propriedade DateTime.Kind:When this format specifier is used with DateTime values, the result string is defined by the value of the DateTime.Kind property:

  • Para o fuso horário local (um valor da propriedade DateTime.Kind de DateTimeKind.Local), esse especificador é equivalente ao especificador "zzz" e produz uma cadeia de caracteres resultante que contém a diferença local em relação ao Horário Universal Coordenado (UTC). Por exemplo, "-07h00".For the local time zone (a DateTime.Kind property value of DateTimeKind.Local), this specifier is equivalent to the "zzz" specifier and produces a result string containing the local offset from Coordinated Universal Time (UTC); for example, "-07:00".

  • Para uma hora UTC (um valor da propriedade DateTime.Kind de DateTimeKind.Utc), a cadeia de caracteres de resultado inclui um caractere "Z" para representar uma data UTC.For a UTC time (a DateTime.Kind property value of DateTimeKind.Utc), the result string includes a "Z" character to represent a UTC date.

  • Para um horário de um fuso horário não especificado (um horário cuja propriedade DateTime.Kind é igual a DateTimeKind.Unspecified), o resultado é equivalente a String.Empty.For a time from an unspecified time zone (a time whose DateTime.Kind property equals DateTimeKind.Unspecified), the result is equivalent to String.Empty.

Para valores DateTimeOffset, o especificador de formato "K" é equivalente ao especificador de formato "zzz" e produz uma cadeia de caracteres resultante que contém a diferença em relação ao valor de DateTimeOffset do UTC.For DateTimeOffset values, the "K" format specifier is equivalent to the "zzz" format specifier, and produces a result string containing the DateTimeOffset value's offset from UTC.

Se o especificador de formato "K" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará uma FormatException.If the "K" format specifier is used without other custom format specifiers, it's interpreted as a standard date and time format specifier and throws a FormatException. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir exibe a cadeia de caracteres resultante do uso do especificador de formato personalizado "K" com vários valores DateTime e DateTimeOffset em um sistema no Fuso horário do Pacífico.The following example displays the string that results from using the "K" custom format specifier with various DateTime and DateTimeOffset values on a system in the U.S. Pacific Time zone.

Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z      
Console.WriteLine("'{0}'", 
                  DateTime.SpecifyKind(DateTime.Now, 
                       DateTimeKind.Unspecified).ToString("%K"));
// Displays ''      
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0, 
                      new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00                        
Console.WriteLine(Date.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(Date.UtcNow.ToString("%K"))
' Displays Z      
Console.WriteLine("'{0}'", _
                  Date.SpecifyKind(Date.Now, _
                                   DateTimeKind.Unspecified). _
                  ToString("%K"))
' Displays ''      
Console.WriteLine(DateTimeOffset.Now.ToString("%K"))
' Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"))
' Displays +00:00
Console.WriteLine(New DateTimeOffset(2008, 5, 1, 6, 30, 0, _
                                     New TimeSpan(5, 0, 0)). _
                  ToString("%K"))
' Displays +05:00                        

Voltar à tabelaBack to table

O especificador de formato personalizado "m"The "m" custom format specifier

O especificador de formato personalizado "m" representa o minuto como um número de 0 a 59.The "m" custom format specifier represents the minute as a number from 0 through 59. O minuto representa os minutos inteiros decorridos desde a última hora.The minute represents whole minutes that have passed since the last hour. Um minuto de dígito único é formatado sem um zero à esquerda.A single-digit minute is formatted without a leading zero.

Se o especificador de formato "m" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "m".If the "m" format specifier is used without other custom format specifiers, it's interpreted as the "m" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "m" em uma cadeia de caracteres de formato personalizado.The following example includes the "m" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ                        
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Voltar à tabelaBack to table

O especificador de formato personalizado "mm"The "mm" custom format specifier

O especificador de formato personalizado "mm" (mais qualquer número de especificadores "m" adicionais) representam o minuto como um número de 00 a 59.The "mm" custom format specifier (plus any number of additional "m" specifiers) represents the minute as a number from 00 through 59. O minuto representa os minutos inteiros decorridos desde a última hora.The minute represents whole minutes that have passed since the last hour. Um minuto de dígito único é formatado com um zero à esquerda.A single-digit minute is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "mm" em uma cadeia de caracteres de formato personalizado.The following example includes the "mm" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Voltar à tabelaBack to table

O especificador de formato personalizado "M"The "M" custom format specifier

O especificador de formato personalizado "M" representa o mês como um número de 1 a 12 (ou de 1 a 13 para os calendários com 13 meses).The "M" custom format specifier represents the month as a number from 1 through 12 (or from 1 through 13 for calendars that have 13 months). Um mês de dígito único é formatado sem um zero à esquerda.A single-digit month is formatted without a leading zero.

Se o especificador de formato "M" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "M".If the "M" format specifier is used without other custom format specifiers, it's interpreted as the "M" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "M" em uma cadeia de caracteres de formato personalizado.The following example includes the "M" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 18);
Console.WriteLine(date1.ToString("(M) MMM, MMMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", 
                  CultureInfo.CreateSpecificCulture("nl-NL")));                       
// Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", 
                  CultureInfo.CreateSpecificCulture("lv-LV")));                        
// Displays (8) Aug, augusts                       
Dim date1 As Date = #8/18/2008#
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays (8) Aug, August
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("nl-NL")))                        
' Displays (8) aug, augustus
Console.WriteLine(date1.ToString("(M) MMM, MMMM", _
                  CultureInfo.CreateSpecificCulture("lv-LV")))                        
' Displays (8) Aug, augusts                       

Voltar à tabelaBack to table

O especificador de formato personalizado "MM"The "MM" custom format specifier

O especificador de formato personalizado "MM" representa o mês como um número de 01 a 12 (ou de 1 a 13 para os calendários com 13 meses).The "MM" custom format specifier represents the month as a number from 01 through 12 (or from 1 through 13 for calendars that have 13 months). Um mês de dígito único é formatado com um zero à esquerda.A single-digit month is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "MM" em uma cadeia de caracteres de formato personalizado.The following example includes the "MM" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 1, 2, 6, 30, 15);

Console.WriteLine(date1.ToString("dd, MM", 
                  CultureInfo.InvariantCulture)); 
// 02, 01
Dim date1 As Date = #1/2/2008 6:30:15AM#

Console.WriteLine(date1.ToString("dd, MM", _
                  CultureInfo.InvariantCulture)) 
' 02, 01

Voltar à tabelaBack to table

O especificador de formato personalizado "MMM"The "MMM" custom format specifier

O especificador de formato personalizado "MMM" representa o nome do mês abreviado.The "MMM" custom format specifier represents the abbreviated name of the month. O nome do dia do mês localizado abreviado é recuperado da propriedade DateTimeFormatInfo.AbbreviatedMonthNames da cultura atual ou especificada.The localized abbreviated name of the month is retrieved from the DateTimeFormatInfo.AbbreviatedMonthNames property of the current or specified culture.

O exemplo a seguir inclui o especificador de formato personalizado "MMM" em uma cadeia de caracteres de formato personalizado.The following example includes the "MMM" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", 
                  CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août                                                
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM", _
                  CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays ven. 29 août                                                

Voltar à tabelaBack to table

O especificador de formato personalizado "MMMM"The "MMMM" custom format specifier

O especificador de formato personalizado "MMMM" representa o nome do mês completo.The "MMMM" custom format specifier represents the full name of the month. O nome do mês localizado é recuperado da propriedade DateTimeFormatInfo.MonthNames da cultura atual ou especificada.The localized name of the month is retrieved from the DateTimeFormatInfo.MonthNames property of the current or specified culture.

O exemplo a seguir inclui o especificador de formato personalizado "MMMM" em uma cadeia de caracteres de formato personalizado.The following example includes the "MMMM" custom format specifier in a custom format string.

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("dddd dd MMMM", 
                  CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", 
                  CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerdì 29 agosto                                
Dim date1 As Date = #08/29/2008 7:27:15PM#

Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("en-US")))
' Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM", _
                  CultureInfo.CreateSpecificCulture("it-IT")))
' Displays venerdì 29 agosto                                          

Voltar à tabelaBack to table

O especificador de formato personalizado "s"The "s" custom format specifier

O especificador de formato personalizado "s" representa os segundos como um número de 0 a 59.The "s" custom format specifier represents the seconds as a number from 0 through 59. O resultado representa os segundos inteiros decorridos desde o último minuto.The result represents whole seconds that have passed since the last minute. Um segundo de dígito único é formatado sem um zero à esquerda.A single-digit second is formatted without a leading zero.

Se o especificador de formato "s" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "s".If the "s" format specifier is used without other custom format specifiers, it's interpreted as the "s" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "s" em uma cadeia de caracteres de formato personalizado.The following example includes the "s" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ                        
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Voltar à tabelaBack to table

O especificador de formato personalizado "ss"The "ss" custom format specifier

O especificador de formato personalizado "ss" (mais qualquer número de especificadores "s" adicionais) representa os segundos como um número de 00 a 59.The "ss" custom format specifier (plus any number of additional "s" specifiers) represents the seconds as a number from 00 through 59. O resultado representa os segundos inteiros decorridos desde o último minuto.The result represents whole seconds that have passed since the last minute. Um segundo de dígito único é formatado com um zero à esquerda.A single-digit second is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "ss" em uma cadeia de caracteres de formato personalizado.The following example includes the "ss" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Voltar à tabelaBack to table

O especificador de formato personalizado "t"The "t" custom format specifier

O especificador de formato personalizado "t" representa o primeiro caractere do designador AM/PM.The "t" custom format specifier represents the first character of the AM/PM designator. O designador localizado apropriado é recuperado da propriedade DateTimeFormatInfo.AMDesignator ou DateTimeFormatInfo.PMDesignator da cultura atual ou específica.The appropriate localized designator is retrieved from the DateTimeFormatInfo.AMDesignator or DateTimeFormatInfo.PMDesignator property of the current or specific culture. O designador AM é usado para todas as horas de 0:00:00 (meia-noite) até 11:59:59,999.The AM designator is used for all times from 0:00:00 (midnight) to 11:59:59.999. O designador PM é usado para todas as horas de 12:00:00 (meio-dia) até 23:59:59,999.The PM designator is used for all times from 12:00:00 (noon) to 23:59:59.999.

Se o especificador de formato "t" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "t".If the "t" format specifier is used without other custom format specifiers, it's interpreted as the "t" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "t" em uma cadeia de caracteres de formato personalizado.The following example includes the "t" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1 µ                        
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", 
                  CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5 µ
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1 µ                        
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.InvariantCulture))
' Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t", _
                  CultureInfo.CreateSpecificCulture("el-GR")))
' Displays 6:9:1.5 µ

Voltar à tabelaBack to table

O especificador de formato personalizado "tt"The "tt" custom format specifier

O especificador de formato personalizado "tt" (mais qualquer número de especificadores "t" adicionais) representa o designador AM/PM inteiro.The "tt" custom format specifier (plus any number of additional "t" specifiers) represents the entire AM/PM designator. O designador localizado apropriado é recuperado da propriedade DateTimeFormatInfo.AMDesignator ou DateTimeFormatInfo.PMDesignator da cultura atual ou específica.The appropriate localized designator is retrieved from the DateTimeFormatInfo.AMDesignator or DateTimeFormatInfo.PMDesignator property of the current or specific culture. O designador AM é usado para todas as horas de 0:00:00 (meia-noite) até 11:59:59,999.The AM designator is used for all times from 0:00:00 (midnight) to 11:59:59.999. O designador PM é usado para todas as horas de 12:00:00 (meio-dia) até 23:59:59,999.The PM designator is used for all times from 12:00:00 (noon) to 23:59:59.999.

Certifique-se de usar o especificador "tt" para linguagens para as quais é necessário manter a distinção entre AM e PM.Make sure to use the "tt" specifier for languages for which it's necessary to maintain the distinction between AM and PM. Um exemplo é o idioma japonês, no qual os designadores AM e PM diferem no segundo caractere e não no primeiro.An example is Japanese, for which the AM and PM designators differ in the second character instead of the first character.

O exemplo a seguir inclui o especificador de formato personalizado "tt" em uma cadeia de caracteres de formato personalizado.The following example includes the "tt" custom format specifier in a custom format string.

DateTime date1; 
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", 
                  CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Dim date1 As Date 
date1 = #6:09:01PM#
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01 du.
date1 = New Date(2008, 1, 1, 18, 9, 1, 500)
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.InvariantCulture))
' Displays 06:09:01.50 PM                        
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt", _
                  CultureInfo.CreateSpecificCulture("hu-HU")))
' Displays 06:09:01.50 du.

Voltar à tabelaBack to table

O especificador de formato personalizado "y"The "y" custom format specifier

O especificador de formato personalizado "y" representa o ano como um número de um dígito ou de dois dígitos.The "y" custom format specifier represents the year as a one-digit or two-digit number. Se o ano tiver mais que dois dígitos, somente os dois dígitos de ordem baixa aparecerão no resultado.If the year has more than two digits, only the two low-order digits appear in the result. Se o primeiro dígito de um ano de dois dígitos começa com zero (por exemplo, 2008), o número é formatado sem um zero à esquerda.If the first digit of a two-digit year begins with a zero (for example, 2008), the number is formatted without a leading zero.

Se o especificador de formato "y" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "y".If the "y" format specifier is used without other custom format specifiers, it's interpreted as the "y" standard date and time format specifier. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "y" em uma cadeia de caracteres de formato personalizado.The following example includes the "y" custom format specifier in a custom format string.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010      
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Voltar à tabelaBack to table

O especificador de formato personalizado "aa"The "yy" custom format specifier

O especificador de formato personalizado "yy" representa o ano como um número de dois dígitos.The "yy" custom format specifier represents the year as a two-digit number. Se o ano tiver mais que dois dígitos, somente os dois dígitos de ordem baixa aparecerão no resultado.If the year has more than two digits, only the two low-order digits appear in the result. Se o ano de dois dígitos tiver menos de dois dígitos significativos, o número será preenchido com zeros à esquerda para produzir dois dígitos.If the two-digit year has fewer than two significant digits, the number is padded with leading zeros to produce two digits.

Em uma operação de análise, um ano de dois dígitos é analisado usando o especificador de formato personalizado “yy” interpretado com base na propriedade Calendar.TwoDigitYearMax do calendário atual do provedor de formato.In a parsing operation, a two-digit year that is parsed using the "yy" custom format specifier is interpreted based on the Calendar.TwoDigitYearMax property of the format provider's current calendar. O exemplo a seguir analisa a representação de cadeia de caracteres de uma data com um ano de dois dígitos usando o calendário gregoriano padrão da cultura en-US que, neste caso, é a cultura atual.The following example parses the string representation of a date that has a two-digit year by using the default Gregorian calendar of the en-US culture, which, in this case, is the current culture. Ele então altera o objeto CultureInfo da cultura atual para usar um objeto GregorianCalendar cuja propriedade TwoDigitYearMax foi modificada.It then changes the current culture's CultureInfo object to use a GregorianCalendar object whose TwoDigitYearMax property has been modified.

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

public class Example
{
   public static void Main()
   {
      string fmt = "dd-MMM-yy";
      string value = "24-Jan-49";
      
      Calendar cal = (Calendar) CultureInfo.CurrentCulture.Calendar.Clone();
      Console.WriteLine("Two Digit Year Range: {0} - {1}", 
                        cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
      
      Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
      Console.WriteLine();
      
      cal.TwoDigitYearMax = 2099;
      CultureInfo culture = (CultureInfo) CultureInfo.CurrentCulture.Clone();
      culture.DateTimeFormat.Calendar = cal;
      Thread.CurrentThread.CurrentCulture = culture;

      Console.WriteLine("Two Digit Year Range: {0} - {1}", 
                        cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax);
      Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, null));
   }
}
// The example displays the following output:
//       Two Digit Year Range: 1930 - 2029
//       1/24/1949
//       
//       Two Digit Year Range: 2000 - 2099
//       1/24/2049
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim fmt As String = "dd-MMM-yy"
      Dim value As String = "24-Jan-49"
      
      Dim cal As Calendar = CType(CultureInfo.CurrentCulture.Calendar.Clone(), Calendar)
      Console.WriteLine("Two Digit Year Range: {0} - {1}", 
                        cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
      
      Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
      Console.WriteLine()
      
      cal.TwoDigitYearMax = 2099
      Dim culture As CultureInfo = CType(CultureInfo.CurrentCulture.Clone(), CultureInfo)
      culture.DateTimeFormat.Calendar = cal
      Thread.CurrentThread.CurrentCulture = culture

      Console.WriteLine("Two Digit Year Range: {0} - {1}", 
                        cal.TwoDigitYearMax - 99, cal.TwoDigitYearMax)
      Console.WriteLine("{0:d}", DateTime.ParseExact(value, fmt, Nothing))
   End Sub
End Module
' The example displays the following output:
'       Two Digit Year Range: 1930 - 2029
'       1/24/1949
'       
'       Two Digit Year Range: 2000 - 2099
'       1/24/2049

O exemplo a seguir inclui o especificador de formato personalizado "yy" em uma cadeia de caracteres de formato personalizado.The following example includes the "yy" custom format specifier in a custom format string.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010      
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Voltar à tabelaBack to table

O especificador de formato personalizado "aaa"The "yyy" custom format specifier

O especificador de formato personalizado "yyy" representa o ano com, no mínimo, três dígitos.The "yyy" custom format specifier represents the year with a minimum of three digits. Se o ano tem mais de três dígitos significativos, eles são incluídos na cadeia de caracteres de resultado.If the year has more than three significant digits, they are included in the result string. Se o ano tem menos de três dígitos, o número é preenchido com zeros à esquerda para produzir três dígitos.If the year has fewer than three digits, the number is padded with leading zeros to produce three digits.

Observação

Para o calendário budista tailandês, que pode ter anos com cinco dígitos, este especificador de formato exibe todos os dígitos significativos.For the Thai Buddhist calendar, which can have five-digit years, this format specifier displays all significant digits.

O exemplo a seguir inclui o especificador de formato personalizado "yyy" em uma cadeia de caracteres de formato personalizado.The following example includes the "yyy" custom format specifier in a custom format string.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010      
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Voltar à tabelaBack to table

O especificador de formato personalizado "aaaa"The "yyyy" custom format specifier

O especificador de formato personalizado "yyyy" representa o ano com, no mínimo, quatro dígitos.The "yyyy" custom format specifier represents the year with a minimum of four digits. Se o ano tem mais de quatro dígitos significativos, eles são incluídos na cadeia de caracteres de resultado.If the year has more than four significant digits, they are included in the result string. Se o ano possui menos de quatro dígitos, o número é preenchido com zeros à esquerda para produzir quatro dígitos.If the year has fewer than four digits, the number is padded with leading zeros to produce four digits.

Observação

Para o calendário budista tailandês, que pode ter anos de cinco dígitos, este especificador de formato exibe no mínimo quatro dígitos.For the Thai Buddhist calendar, which can have five-digit years, this format specifier displays a minimum of four digits.

O exemplo a seguir inclui o especificador de formato personalizado "yyyy" em uma cadeia de caracteres de formato personalizado.The following example includes the "yyyy" custom format specifier in a custom format string.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010      
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Voltar à tabelaBack to table

O especificador de formato personalizado "aaaaa"The "yyyyy" custom format specifier

O especificador de formato personalizado "yyyyy" (mais qualquer número de especificadores "y" adicionais) representa o ano com, no mínimo, cinco dígitos.The "yyyyy" custom format specifier (plus any number of additional "y" specifiers) represents the year with a minimum of five digits. Se o ano tem mais de cinco dígitos significativos, eles são incluídos na cadeia de caracteres de resultado.If the year has more than five significant digits, they are included in the result string. Se o ano tem menos de cinco dígitos, o número é preenchido com zeros à esquerda para produzir cinco dígitos.If the year has fewer than five digits, the number is padded with leading zeros to produce five digits.

Se houver especificadores "y" adicionais, o número será preenchido com tantos zeros à esquerda quantos forem necessários para produzir o número de especificadores "y".If there are additional "y" specifiers, the number is padded with as many leading zeros as necessary to produce the number of "y" specifiers.

O exemplo a seguir inclui o especificador de formato personalizado "yyyyy" em uma cadeia de caracteres de formato personalizado.The following example includes the "yyyyy" custom format specifier in a custom format string.

DateTime date1 = new DateTime(1, 12, 1);
DateTime date2 = new DateTime(2010, 1, 1);
Console.WriteLine(date1.ToString("%y"));
// Displays 1
Console.WriteLine(date1.ToString("yy"));
// Displays 01
Console.WriteLine(date1.ToString("yyy"));
// Displays 001
Console.WriteLine(date1.ToString("yyyy"));
// Displays 0001
Console.WriteLine(date1.ToString("yyyyy"));
// Displays 00001
Console.WriteLine(date2.ToString("%y"));
// Displays 10
Console.WriteLine(date2.ToString("yy"));
// Displays 10
Console.WriteLine(date2.ToString("yyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyy"));
// Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"));
// Displays 02010      
Dim date1 As Date = #12/1/0001#
Dim date2 As Date = #1/1/2010#
Console.WriteLine(date1.ToString("%y"))
' Displays 1
Console.WriteLine(date1.ToString("yy"))
' Displays 01
Console.WriteLine(date1.ToString("yyy"))
' Displays 001
Console.WriteLine(date1.ToString("yyyy"))
' Displays 0001
Console.WriteLine(date1.ToString("yyyyy"))
' Displays 00001
Console.WriteLine(date2.ToString("%y"))
' Displays 10
Console.WriteLine(date2.ToString("yy"))
' Displays 10
Console.WriteLine(date2.ToString("yyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyy"))
' Displays 2010      
Console.WriteLine(date2.ToString("yyyyy"))
' Displays 02010      

Voltar à tabelaBack to table

O especificador de formato personalizado "z"The "z" custom format specifier

Com valores DateTime, o especificador de formato personalizado "z" representa a diferença com sinal do fuso horário do sistema operacional local em relação ao UTC, medido em horas.With DateTime values, the "z" custom format specifier represents the signed offset of the local operating system's time zone from Coordinated Universal Time (UTC), measured in hours. Ele não reflete o valor de uma instância da propriedade DateTime.Kind.It doesn't reflect the value of an instance's DateTime.Kind property. Por esse motivo, o especificador de formato "z" não é recomendado para uso com valores DateTime.For this reason, the "z" format specifier is not recommended for use with DateTime values.

Com os valores de DateTimeOffset, este formato representa a diferença do valor de DateTimeOffset em relação ao UTC em horas.With DateTimeOffset values, this format specifier represents the DateTimeOffset value's offset from UTC in hours.

A diferença é sempre exibida com um sinal à esquerda.The offset is always displayed with a leading sign. Um sinal de adição (+) indica horas depois do UTC, enquanto que um sinal de subtração (-) indica horas antes do UTC.A plus sign (+) indicates hours ahead of UTC, and a minus sign (-) indicates hours behind UTC. Uma diferença com um único dígito único é formatada sem um zero à esquerda.A single-digit offset is formatted without a leading zero.

Se o especificador de formato "z" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará uma FormatException.If the "z" format specifier is used without other custom format specifiers, it's interpreted as a standard date and time format specifier and throws a FormatException. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

O exemplo a seguir inclui o especificador de formato personalizado "z" em uma cadeia de caracteres de formato personalizado.The following example includes the "z" custom format specifier in a custom format string.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", 
                  date1));
// Displays -7, -07, -07:00                     

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0, 
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", 
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00                     

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))                                     
' Displays +6, +06, +06:00

Voltar à tabelaBack to table

O especificador de formato personalizado "zz"The "zz" custom format specifier

Com valores DateTime, o especificador de formato personalizado "zz" representa a diferença com sinal do fuso horário do sistema operacional local em relação ao UTC em horas.With DateTime values, the "zz" custom format specifier represents the signed offset of the local operating system's time zone from UTC, measured in hours. Ele não reflete o valor de uma instância da propriedade DateTime.Kind.It doesn't reflect the value of an instance's DateTime.Kind property. Por esse motivo, o especificador de formato "zz" não é recomendado para uso com valores DateTime.For this reason, the "zz" format specifier is not recommended for use with DateTime values.

Com os valores de DateTimeOffset, este formato representa a diferença do valor de DateTimeOffset em relação ao UTC em horas.With DateTimeOffset values, this format specifier represents the DateTimeOffset value's offset from UTC in hours.

A diferença é sempre exibida com um sinal à esquerda.The offset is always displayed with a leading sign. Um sinal de adição (+) indica horas depois do UTC, enquanto que um sinal de subtração (-) indica horas antes do UTC.A plus sign (+) indicates hours ahead of UTC, and a minus sign (-) indicates hours behind UTC. Uma diferença com um único dígito único é formatada com um zero à esquerda.A single-digit offset is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "zz" em uma cadeia de caracteres de formato personalizado.The following example includes the "zz" custom format specifier in a custom format string.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", 
                  date1));
// Displays -7, -07, -07:00                     

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0, 
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", 
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00                     

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))                                     
' Displays +6, +06, +06:00

Voltar à tabelaBack to table

O especificador de formato personalizado "zzz"The "zzz" custom format specifier

Com valores DateTime, o especificador de formato personalizado "zzz" representa a diferença com sinal do fuso horário do sistema operacional local em relação ao UTC em horas e minutos.With DateTime values, the "zzz" custom format specifier represents the signed offset of the local operating system's time zone from UTC, measured in hours and minutes. Ele não reflete o valor de uma instância da propriedade DateTime.Kind.It doesn't reflect the value of an instance's DateTime.Kind property. Por esse motivo, o especificador de formato "zzz" não é recomendado para uso com valores DateTime.For this reason, the "zzz" format specifier is not recommended for use with DateTime values.

Com valores DateTimeOffset, esse especificador de formato representa a diferença do valor de DateTimeOffset em relação ao UTC em horas e minutos.With DateTimeOffset values, this format specifier represents the DateTimeOffset value's offset from UTC in hours and minutes.

A diferença é sempre exibida com um sinal à esquerda.The offset is always displayed with a leading sign. Um sinal de adição (+) indica horas depois do UTC, enquanto que um sinal de subtração (-) indica horas antes do UTC.A plus sign (+) indicates hours ahead of UTC, and a minus sign (-) indicates hours behind UTC. Uma diferença com um único dígito único é formatada com um zero à esquerda.A single-digit offset is formatted with a leading zero.

O exemplo a seguir inclui o especificador de formato personalizado "zzz" em uma cadeia de caracteres de formato personalizado.The following example includes the "zzz" custom format specifier in a custom format string.

DateTime date1 = DateTime.UtcNow;
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", 
                  date1));
// Displays -7, -07, -07:00                     

DateTimeOffset date2 = new DateTimeOffset(2008, 8, 1, 0, 0, 0, 
                                          new TimeSpan(6, 0, 0));
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", 
                  date2));
// Displays +6, +06, +06:00
Dim date1 As Date = Date.UtcNow
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date1))
' Displays -7, -07, -07:00                     

Dim date2 As New DateTimeOffset(2008, 8, 1, 0, 0, 0, _
                                New Timespan(6, 0, 0))
Console.WriteLine(String.Format("{0:%z}, {0:zz}, {0:zzz}", _
                  date2))                                     
' Displays +6, +06, +06:00

Voltar à tabelaBack to table

O especificador de formato personalizado ":"The ":" custom format specifier

O especificador de formato personalizado ":" representa o separador de hora, o qual é usado para diferenciar horas, minutos e segundos.The ":" custom format specifier represents the time separator, which is used to differentiate hours, minutes, and seconds. O separador de hora localizado apropriado é recuperado da propriedade DateTimeFormatInfo.TimeSeparator da cultura atual ou especificada.The appropriate localized time separator is retrieved from the DateTimeFormatInfo.TimeSeparator property of the current or specified culture.

Observação

Para alterar o separador de hora de uma sequência de data e hora específica, especifique o caractere separador dentro de um delimitador de cadeia de caracteres literal.To change the time separator for a particular date and time string, specify the separator character within a literal string delimiter. Por exemplo, a cadeia de caracteres de formato personalizada hh'_'dd'_'ss produz uma cadeia de caracteres de resultado em que "_" (um sublinhado) é sempre usado como o separador de hora.For example, the custom format string hh'_'dd'_'ss produces a result string in which "_" (an underscore) is always used as the time separator. Para alterar o separador de hora de todas as datas de uma cultura, seja para alterar o valor da propriedade DateTimeFormatInfo.TimeSeparator da cultura atual ou para instanciar um objeto DateTimeFormatInfo, atribua o caractere à sua propriedade TimeSeparator e chame uma sobrecarga do método de formatação que inclua um parâmetro IFormatProvider.To change the time separator for all dates for a culture, either change the value of the DateTimeFormatInfo.TimeSeparator property of the current culture, or instantiate a DateTimeFormatInfo object, assign the character to its TimeSeparator property, and call an overload of the formatting method that includes an IFormatProvider parameter.

Se o especificador de formato ":" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará uma FormatException.If the ":" format specifier is used without other custom format specifiers, it's interpreted as a standard date and time format specifier and throws a FormatException. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

Voltar à tabelaBack to table

O especificador de formato personalizado "/"The "/" custom format specifier

O especificador de formato personalizado "/" representa o separador de data, o qual é usado para diferenciar anos, meses e dias.The "/" custom format specifier represents the date separator, which is used to differentiate years, months, and days. O separador de data localizado apropriado é recuperado da propriedade DateTimeFormatInfo.DateSeparator da cultura atual ou especificada.The appropriate localized date separator is retrieved from the DateTimeFormatInfo.DateSeparator property of the current or specified culture.

Observação

Para alterar o separador de data de uma sequência de data e hora específica, especifique o caractere separador dentro de um delimitador de cadeia de caracteres literal.To change the date separator for a particular date and time string, specify the separator character within a literal string delimiter. Por exemplo, a sequência de formato personalizado mm'/'dd'/'yyyy produz uma cadeia de caracteres de resultado em que "/" é sempre usado como o separador de data.For example, the custom format string mm'/'dd'/'yyyy produces a result string in which "/" is always used as the date separator. Para alterar o separador de data de todas as datas de uma cultura, seja para alterar o valor da propriedade DateTimeFormatInfo.DateSeparator da cultura atual ou para instanciar um objeto DateTimeFormatInfo, atribua o caractere à sua propriedade DateSeparator e chame uma sobrecarga do método de formatação que inclua um parâmetro IFormatProvider.To change the date separator for all dates for a culture, either change the value of the DateTimeFormatInfo.DateSeparator property of the current culture, or instantiate a DateTimeFormatInfo object, assign the character to its DateSeparator property, and call an overload of the formatting method that includes an IFormatProvider parameter.

Se o especificador de formato "/" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará uma FormatException.If the "/" format specifier is used without other custom format specifiers, it's interpreted as a standard date and time format specifier and throws a FormatException. Para saber mais sobre como usar um especificador de formato único, confira Usar especificadores de formato único personalizados posteriormente nesse artigo.For more information about using a single format specifier, see Using Single Custom Format Specifiers later in this article.

Voltar à tabelaBack to table

Literais de caracteresCharacter literals

Os seguintes caracteres de uma cadeia de caracteres de formato de data e hora personalizado são reservados e sempre são interpretados como caracteres formatação ou, no caso de ", ', / e \, como caracteres especiais.The following characters in a custom date and time format string are reserved and are always interpreted as formatting characters or, in the case of ", ', /, and \, as special characters.

FF HH MK MM dd
ff gg hh mm ss
tt yy zz % ::
/ "" '' \\

Todos os outros caracteres sempre são interpretados como literais de caracteres e, em uma operação de formatação, são incluídos na cadeia de caracteres de resultado inalterada.All other characters are always interpreted as character literals and, in a formatting operation, are included in the result string unchanged. Em uma operação de análise, eles devem corresponder exatamente aos caracteres na cadeia de entrada; a comparação diferencia maiúsculas de minúsculas.In a parsing operation, they must match the characters in the input string exactly; the comparison is case-sensitive.

O exemplo a seguir inclui os caracteres literais "PST" (que indicam a Hora Padrão do Pacífico) e “PDT” (que indicam a Hora de Verão do Pacífico) para representar o fuso horário local em uma cadeia de caracteres de formato.The following example includes the literal characters "PST" (for Pacific Standard Time) and "PDT" (for Pacific Daylight Time) to represent the local time zone in a format string. Observe que a cadeia de caracteres está incluída na cadeia de caracteres de resultado e que uma cadeia de caracteres que inclui a cadeia de caracteres de fuso horário local também é analisada com êxito.Note that the string is included in the result string, and that a string that includes the local time zone string also parses successfully.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] formats = { "dd MMM yyyy hh:mm tt PST", 
                           "dd MMM yyyy hh:mm tt PDT" };
      var dat = new DateTime(2016, 8, 18, 16, 50, 0);
      // Display the result string. 
      Console.WriteLine(dat.ToString(formats[1]));
      
      // Parse a string. 
      String value = "25 Dec 2016 12:00 pm PST";
      DateTime newDate;
      if (DateTime.TryParseExact(value, formats, null, 
                                 DateTimeStyles.None, out newDate)) 
         Console.WriteLine(newDate);
      else
         Console.WriteLine("Unable to parse '{0}'", value);
   }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM PDT
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim formats() As String = { "dd MMM yyyy hh:mm tt PST", 
                                  "dd MMM yyyy hh:mm tt PDT" }
      Dim dat As New Date(2016, 8, 18, 16, 50, 0)
      ' Display the result string. 
      Console.WriteLine(dat.ToString(formats(1)))
      
      ' Parse a string. 
      Dim value As String = "25 Dec 2016 12:00 pm PST"
      Dim newDate As Date
      If Date.TryParseExact(value, formats, Nothing, 
                            DateTimeStyles.None, newDate) Then 
         Console.WriteLine(newDate)
      Else
         Console.WriteLine("Unable to parse '{0}'", value)
      End If                               
   End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM PDT
'       12/25/2016 12:00:00 PM

Há duas maneiras de indicar que os caracteres devem ser interpretados como caracteres literais e não como caracteres reservados, para que possam ser incluídos em uma cadeia de caracteres de resultado ou analisados com êxito em uma cadeia de caracteres de entrada:There are two ways to indicate that characters are to be interpreted as literal characters and not as reserve characters, so that they can be included in a result string or successfully parsed in an input string:

O exemplo a seguir inclui os caracteres literais "pst" (que indicam a Hora Padrão do Pacífico) para representar o fuso horário local em uma cadeia de caracteres de formato.The following example includes the literal characters "pst" (for Pacific Standard time) to represent the local time zone in a format string. Como "s" e "t" são cadeias de caracteres de formato personalizado, ambos os caracteres devem ter um escape para serem interpretados como caracteres literais.Because both "s" and "t" are custom format strings, both characters must be escaped to be interpreted as character literals.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String format = "dd MMM yyyy hh:mm tt p\\s\\t";
      var dat = new DateTime(2016, 8, 18, 16, 50, 0);
      // Display the result string. 
      Console.WriteLine(dat.ToString(format));
      
      // Parse a string. 
      String value = "25 Dec 2016 12:00 pm pst";
      DateTime newDate;
      if (DateTime.TryParseExact(value, format, null, 
                                 DateTimeStyles.None, out newDate)) 
         Console.WriteLine(newDate);
      else
         Console.WriteLine("Unable to parse '{0}'", value);
   }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM PDT
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim fmt As String = "dd MMM yyyy hh:mm tt p\s\t" 
      Dim dat As New Date(2016, 8, 18, 16, 50, 0)
      ' Display the result string. 
      Console.WriteLine(dat.ToString(fmt))
      
      ' Parse a string. 
      Dim value As String = "25 Dec 2016 12:00 pm pst"
      Dim newDate As Date
      If Date.TryParseExact(value, fmt, Nothing, 
                            DateTimeStyles.None, newDate) Then 
         Console.WriteLine(newDate)
      Else
         Console.WriteLine("Unable to parse '{0}'", value)
      End If                               
   End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM
  • Colocando toda a cadeia de caracteres literal entre aspas ou apóstrofos.By enclosing the entire literal string in quotation marks or apostrophes. O exemplo a seguir é semelhante ao anterior, mas "pst" é colocado entre aspas para indicar que toda a cadeia de caracteres delimitada deve ser interpretada como literais de caracteres.The following example is like the previous one, except that "pst" is enclosed in quotation marks to indicate that the entire delimited string should be interpreted as character literals.
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String format = "dd MMM yyyy hh:mm tt \"pst\"";
      var dat = new DateTime(2016, 8, 18, 16, 50, 0);
      // Display the result string. 
      Console.WriteLine(dat.ToString(format));
      
      // Parse a string. 
      String value = "25 Dec 2016 12:00 pm pst";
      DateTime newDate;
      if (DateTime.TryParseExact(value, format, null, 
                                 DateTimeStyles.None, out newDate)) 
         Console.WriteLine(newDate);
      else
         Console.WriteLine("Unable to parse '{0}'", value);
   }
}
// The example displays the following output:
//       18 Aug 2016 04:50 PM PDT
//       12/25/2016 12:00:00 PM
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim fmt As String = "dd MMM yyyy hh:mm tt ""pst"""  
      Dim dat As New Date(2016, 8, 18, 16, 50, 0)
      ' Display the result string. 
      Console.WriteLine(dat.ToString(fmt))
      
      ' Parse a string. 
      Dim value As String = "25 Dec 2016 12:00 pm pst"
      Dim newDate As Date
      If Date.TryParseExact(value, fmt, Nothing, 
                            DateTimeStyles.None, newDate) Then 
         Console.WriteLine(newDate)
      Else
         Console.WriteLine("Unable to parse '{0}'", value)
      End If                               
   End Sub
End Module
' The example displays the following output:
'       18 Aug 2016 04:50 PM pst
'       12/25/2016 12:00:00 PM

ObservaçõesNotes

Usar especificadores de formato personalizado simplesUsing single custom format specifiers

Uma cadeia de caracteres de formato de data e hora personalizado consiste em dois ou mais caracteres.A custom date and time format string consists of two or more characters. Os métodos de formatação de data e hora interpretam qualquer cadeia de um único caractere como uma cadeia de caracteres de formato de data e hora padrão.Date and time formatting methods interpret any single-character string as a standard date and time format string. Quando não reconhecem o caractere como um especificador de formato válido, eles geram uma FormatException.If they don't recognize the character as a valid format specifier, they throw a FormatException. Por exemplo, uma cadeia de caracteres de formato que consiste somente no especificador "h" é interpretada como uma cadeia de caracteres de formato padrão de data e hora.For example, a format string that consists only of the specifier "h" is interpreted as a standard date and time format string. No entanto, nesse caso específico, uma exceção é gerada porque não há nenhum especificador "h" de formato padrão de data e hora.However, in this particular case, an exception is thrown because there is no "h" standard date and timeformat specifier.

Para usar qualquer um dos especificadores de formato de data e hora personalizado como sendo o único especificador em uma cadeia de caracteres de formato (ou seja, para usar o especificador de formato personalizado "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" ou “/” por si só), inclua um espaço antes ou após o especificador ou inclua um especificador de formato de porcentagem "%" antes do especificador de data e hora personalizado simples.To use any of the custom date and time format specifiers as the only specifier in a format string (that is, to use the "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":", or "/" custom format specifier by itself), include a space before or after the specifier, or include a percent ("%") format specifier before the single custom date and time specifier.

Por exemplo, "%h" é interpretada como uma cadeia de caracteres de formato de data e hora personalizado que exibe a hora representada pelo valor atual de data e hora.For example, "%h" is interpreted as a custom date and time format string that displays the hour represented by the current date and time value. Você também pode usar a cadeia de caracteres de formato " h" ou "H ", embora isso inclua um espaço na cadeia de caracteres resultante em conjunto com a hora.You can also use the " h" or "h " format string, although this includes a space in the result string along with the hour. O exemplo a seguir ilustra essas três cadeias de caracteres de formatos.The following example illustrates these three format strings.

DateTime dat1 = new DateTime(2009, 6, 15, 13, 45, 0);

Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
//       '1'
//       ' 1'
//       '1 '
Dim dat1 As Date = #6/15/2009 1:45PM#

Console.WriteLine("'{0:%h}'", dat1)
Console.WriteLine("'{0: h}'", dat1)
Console.WriteLine("'{0:h }'", dat1)
' The example displays the following output:
'       '1'
'       ' 1'
'       '1 '

Usar o caractere de escapeUsing the Escape Character

Os caracteres "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" ou "/" em uma cadeia de caracteres de formato são interpretados como especificadores de formato personalizados em vez de caracteres literais.The "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":", or "/" characters in a format string are interpreted as custom format specifiers rather than as literal characters. Para impedir que um caractere seja interpretado como um especificador de formato, você pode precedê-lo com uma barra invertida (\), que é o caractere de escape.To prevent a character from being interpreted as a format specifier, you can precede it with a backslash (\), which is the escape character. O caractere de escape significa que o próximo caractere é um literal de caractere que deve ser incluído inalterado na cadeia de caracteres de resultado.The escape character signifies that the following character is a character literal that should be included in the result string unchanged.

Para incluir uma barra invertida em uma cadeia de caracteres de resultado, você deve escapá-la com outra barra invertida (\\).To include a backslash in a result string, you must escape it with another backslash (\\).

Observação

Alguns compiladores, como os compiladores C++ e C#, também podem interpretar um único caractere de barra invertida como um caractere de escape.Some compilers, such as the C++ and C# compilers, may also interpret a single backslash character as an escape character. Para garantir que uma cadeia de caracteres seja interpretada corretamente quando formatada, você poderá usar o caractere literal de cadeia de caracteres textual (o caractere @) antes da cadeia de caracteres em C# ou adicionar outro caractere de barra invertida antes de cada barra invertida em C# e em C++.To ensure that a string is interpreted correctly when formatting, you can use the verbatim string literal character (the @ character) before the string in C#, or add another backslash character before each backslash in C# and C++. O exemplo de C# a seguir ilustra ambas as abordagens.The following C# example illustrates both approaches.

O exemplo a seguir usa o caractere de escape para impedir que a operação de formatação interprete os caracteres de "h" e "m" como especificadores de formato.The following example uses the escape character to prevent the formatting operation from interpreting the "h" and "m" characters as format specifiers.

DateTime date = new DateTime(2009, 06, 15, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";

Console.WriteLine("{0} ({1}) -> {2}", date, fmt1, date.ToString(fmt1));
Console.WriteLine("{0} ({1}) -> {2}", date, fmt2, date.ToString(fmt2));
// The example displays the following output:
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m
//       6/15/2009 1:45:30 PM (h \h m \m) -> 1 h 45 m      
Dim date1 As Date = #6/15/2009 13:45#
Dim fmt As String = "h \h m \m"

Console.WriteLine("{0} ({1}) -> {2}", date1, fmt, date1.ToString(fmt))
' The example displays the following output:
'       6/15/2009 1:45:00 PM (h \h m \m) -> 1 h 45 m      

Configurações do Painel de ControleControl Panel settings

As configurações de Opções Regionais e de Idiomas no Painel de Controle influenciam a cadeia de caracteres de resultado produzida por uma operação de formatação que inclui muitos dos especificadores de formato de data e hora personalizado.The Regional and Language Options settings in Control Panel influence the result string produced by a formatting operation that includes many of the custom date and time format specifiers. Essas configurações são usadas para inicializar o objeto DateTimeFormatInfo associado à cultura de thread atual, a qual fornece os valores usados para determinar a formatação.These settings are used to initialize the DateTimeFormatInfo object associated with the current thread culture, which provides values used to govern formatting. Computadores que usam configurações diferentes geram cadeias de caracteres de resultado diferentes.Computers that use different settings generate different result strings.

Além disso, se o constructo 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.In addition, if you use the CultureInfo.CultureInfo(String) constructor to instantiate a new CultureInfo object that represents the same culture as the current system culture, any customizations established by the Regional and Language Options item in Control Panel will be applied to the new CultureInfo object. Você pode usar o construtor CultureInfo.CultureInfo(String, Boolean) para criar um objeto CultureInfo que não reflita as personalizações de um sistema.You can use the CultureInfo.CultureInfo(String, Boolean) constructor to create a CultureInfo object that doesn't reflect a system's customizations.

Propriedades DateTimeFormatInfoDateTimeFormatInfo properties

A formatação é influenciada pelas propriedades do objeto DateTimeFormatInfo atual, que é fornecido implicitamente pela cultura de thread atual ou explicitamente pelo parâmetro IFormatProvider do método que invoca a formatação.Formatting is influenced by properties of the current DateTimeFormatInfo object, which is provided implicitly by the current thread culture or explicitly by the IFormatProvider parameter of the method that invokes formatting. Para o parâmetro IFormatProvider, você deve especificar um objeto CultureInfo, o qual representa uma cultura ou um objeto DateTimeFormatInfo.For the IFormatProvider parameter, you should specify a CultureInfo object, which represents a culture, or a DateTimeFormatInfo object.

A cadeia de caracteres de resultado produzida por muitos dos especificadores de formato de data e hora personalizado também depende das propriedades do objeto DateTimeFormatInfo atual.The result string produced by many of the custom date and time format specifiers also depends on properties of the current DateTimeFormatInfo object. Seu aplicativo pode alterar o resultado produzido por alguns especificadores de formato personalizado de data e hora ao alterar a propriedade DateTimeFormatInfo correspondente.Your application can change the result produced by some custom date and time format specifiers by changing the corresponding DateTimeFormatInfo property. Por exemplo, o especificador de formato "ddd" adiciona um nome de dia da semana abreviado encontrado na matriz de cadeia de caracteres AbbreviatedDayNames à cadeia de caracteres de resultado.For example, the "ddd" format specifier adds an abbreviated weekday name found in the AbbreviatedDayNames string array to the result string. Da mesma forma, o especificador de formato "MMMM" adiciona um nome de mês completo encontrado na matriz de cadeias de caracteres MonthNames à cadeia de caracteres de resultado.Similarly, the "MMMM" format specifier adds a full month name found in the MonthNames string array to the result string.

Consulte tambémSee also