Cadeias de caracteres de formato TimeSpan padrãoStandard TimeSpan Format Strings

Uma cadeia de caracteres de formato padrão TimeSpan usa um único especificador de formato para definir a representação de texto de um valor TimeSpan que resulta de uma operação de formatação.A standard TimeSpan format string uses a single format specifier to define the text representation of a TimeSpan value that results from a formatting operation. Qualquer sequência de formato que contenha mais de um caractere, incluindo espaço em branco, é interpretada como uma sequência de formato TimeSpan personalizada.Any format string that contains more than one character, including white space, is interpreted as a custom TimeSpan format string. Para saber mais, confira Cadeias de caracteres de formato TimeSpan personalizadas.For more information, see Custom TimeSpan Format Strings .

As representações de sequência de valores TimeSpan são produzidas por chamadas para as sobrecargas do método TimeSpan.ToString, bem como por métodos que oferecem suporte à formatação composta, como String.Format.The string representations of TimeSpan values are produced by calls to the overloads of the TimeSpan.ToString method, as well as by methods that support composite formatting, such as String.Format. Para obter mais informações, consulte Tipos de formatação e Formatação de composição.For more information, see Formatting Types and Composite Formatting. O exemplo a seguir ilustra o uso de sequências de formato padrão em operações de formatação.The following example illustrates the use of standard format strings in formatting operations.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan duration = new TimeSpan(1, 12, 23, 62);
      string output = "Time of Travel: " + duration.ToString("c");
      Console.WriteLine(output);
      
      Console.WriteLine("Time of Travel: {0:c}", duration); 
   }
}
// The example displays the following output:
//       Time of Travel: 1.12:24:02
//       Time of Travel: 1.12:24:02
Module Example
   Public Sub Main()
      Dim duration As New TimeSpan(1, 12, 23, 62)
      Dim output As String = "Time of Travel: " + duration.ToString("c")
      Console.WriteLine(output)
      
      Console.WriteLine("Time of Travel: {0:c}", duration) 
   End Sub
End Module
' The example displays the following output:
'       Time of Travel: 1.12:24:02
'       Time of Travel: 1.12:24:02

As sequências de formato TimeSpan padrão são usadas também pelos métodos TimeSpan.ParseExact e TimeSpan.TryParseExact para definir o formato necessário de sequências de caracteres de entrada para análise de operações.Standard TimeSpan format strings are also used by the TimeSpan.ParseExact and TimeSpan.TryParseExact methods to define the required format of input strings for parsing operations. (A análise converte a representação de sequência de um valor para esse valor). O exemplo a seguir ilustra o uso de sequências de formato padrão em operações de análise.(Parsing converts the string representation of a value to that value.) The following example illustrates the use of standard format strings in parsing operations.

using System;

public class Example
{
   public static void Main()
   {
      string value = "1.03:14:56.1667";
      TimeSpan interval;
      try {
         interval = TimeSpan.ParseExact(value, "c", null);
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      }   
      catch (FormatException) {
         Console.WriteLine("{0}: Bad Format", value);
      }   
      catch (OverflowException) {
         Console.WriteLine("{0}: Out of Range", value);
      }
      
      if (TimeSpan.TryParseExact(value, "c", null, out interval))
         Console.WriteLine("Converted '{0}' to {1}", value, interval);
      else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value);
   }
}
// The example displays the following output:
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
//       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
Module Example
   Public Sub Main()
      Dim value As String = "1.03:14:56.1667"
      Dim interval As TimeSpan
      Try
         interval = TimeSpan.ParseExact(value, "c", Nothing)
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Catch e As FormatException
         Console.WriteLine("{0}: Bad Format", value)
      Catch e As OverflowException
         Console.WriteLine("{0}: Out of Range", value)
      End Try
      
      If TimeSpan.TryParseExact(value, "c", Nothing, interval) Then
         Console.WriteLine("Converted '{0}' to {1}", value, interval)
      Else
         Console.WriteLine("Unable to convert {0} to a time interval.", 
                           value)
      End If                
   End Sub
End Module
' The example displays the following output:
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000
'       Converted '1.03:14:56.1667' to 1.03:14:56.1667000

A tabela a seguir lista os especificadores de formato de intervalo de tempo padrão.The following table lists the standard time interval format specifiers.

Especificador de formatoFormat specifier NomeName DescriçãoDescription ExemplosExamples
"c""c" Formato de constante (invariável)Constant (invariant) format Esse especificador não é sensível à cultura.This specifier is not culture-sensitive. Ele assume o formato [-][d'.']hh':'mm':'ss['.'fffffff].It takes the form [-][d'.']hh':'mm':'ss['.'fffffff].

(As sequências de formato "t" e "T" produzem os mesmos resultados).(The "t" and "T" format strings produce the same results.)

Para saber mais: O especificador de formato de constante ("c").More information: The Constant ("c") Format Specifier.
TimeSpan.Zero -> 00:00:00TimeSpan.Zero -> 00:00:00

New TimeSpan(0, 0, 30, 0) -> 00:30:00New TimeSpan(0, 0, 30, 0) -> 00:30:00

New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000
"g""g" Formato curto geralGeneral short format Esse especificador gera apenas o que é necessário.This specifier outputs only what is needed. Ele é sensível à cultura e assume o formato [-][d':']h':'mm':'ss[.FFFFFFF].It is culture-sensitive and takes the form [-][d':']h':'mm':'ss[.FFFFFFF].

Para saber mais: O especificador de formato curto geral ("g").More information: The General Short ("g") Format Specifier.
New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50.5 (en-US)

New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)New TimeSpan(1, 3, 16, 50, 500) -> 1:3:16:50,5 (fr-FR)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50.599 (en-US)

New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)New TimeSpan(1, 3, 16, 50, 599) -> 1:3:16:50,599 (fr-FR)
"G""G" Formato longo geralGeneral long format Esse especificador sempre gera dias e sete dígitos de fração.This specifier always outputs days and seven fractional digits. Ele é sensível à cultura e assume o formato [-]d':'hh':'mm':'ss.fffffff.It is culture-sensitive and takes the form [-]d':'hh':'mm':'ss.fffffff.

Para saber mais: O especificador de formato longo geral ("G").More information: The General Long ("G") Format Specifier.
New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)New TimeSpan(18, 30, 0) -> 0:18:30:00.0000000 (en-US)

New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR)New TimeSpan(18, 30, 0) -> 0:18:30:00,0000000 (fr-FR)

O especificador de formato de constante ("c")The Constant ("c") Format Specifier

O especificador de formato "c" retorna a representação de sequência de um valor TimeSpan da seguinte forma:The "c" format specifier returns the string representation of a TimeSpan value in the following form:

[-][d.]hh:mm:ss[.fffffff][-][d.]hh:mm:ss[.fffffff]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. O ponto (.) e os dois pontos (:) são símbolos literais.The period (.) and colon (:) are literal symbols. A tabela a seguir descreve os elementos restantes.The following table describes the remaining elements.

ElementoElement DescriçãoDescription
- Um sinal negativo opcional, que indica um intervalo de tempo negativo.An optional negative sign, which indicates a negative time interval.
dd O número opcional de dias, sem zeros à esquerda.The optional number of days, with no leading zeros.
hhhh O número de horas, que varia de "00" a "23".The number of hours, which ranges from "00" to "23".
mmmm O número de minutos, que varia de "00" a "59".The number of minutes, which ranges from "00" to "59".
ssss O número de segundos, que varia de "00" a "59".The number of seconds, which ranges from "0" to "59".
ffffffffffffff A parte de fração opcional de um segundo.The optional fractional portion of a second. Seu valor pode variar de "0000001" (um pulso ou um décimo milionésimo de segundo) até "9999999" (9.999.999 dez milionésimos de segundo ou um segundo menos um pulso).Its value can range from "0000001" (one tick, or one ten-millionth of a second) to "9999999" (9,999,999 ten-millionths of a second, or one second less one tick).

Ao contrário dos especificadores de formato de "g" e "G", o especificador de formato "c" não é sensível à cultura.Unlike the "g" and "G" format specifiers, the "c" format specifier is not culture-sensitive. Ele produz a representação de cadeia de caracteres de um valor TimeSpan que é invariável e é comum a todas as versões anteriores do .NET Framework, antes do .NET Framework 4.It produces the string representation of a TimeSpan value that is invariant and that is common to all previous versions of the .NET Framework before the .NET Framework 4. "c"é a cadeia de caracteres de formato TimeSpan padrão, o método TimeSpan.ToString() formata um valor de intervalo de tempo usando a sequência de formato "c"."c" is the default TimeSpan format string; the TimeSpan.ToString() method formats a time interval value by using the "c" format string.

Observação

TimeSpan também oferece suporte às sequências de formato padrão "t" e "T", que são idênticas em comportamento à sequência de formato padrão "c".TimeSpan also supports the "t" and "T" standard format strings, which are identical in behavior to the "c" standard format string.

O exemplo a seguir instancia dois objetos TimeSpan, usa-os para executar operações aritméticas e exibe o resultado.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. Em cada caso, ele usa formatação composta para exibir o valor TimeSpan usando o especificador de formato "c".In each case, it uses composite formatting to display the TimeSpan value by using the "c" format specifier.

using System;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
      
      interval1 = new TimeSpan(0, 0, 1, 14, 365);
      interval2 = TimeSpan.FromTicks(2143756);  
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       07:45:16 - 18:12:38 = -10:27:22
//       07:45:16 + 18:12:38 = 1.01:57:54
//       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756
Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:c} - {1:c} = {2:c}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
      
      interval1 = New TimeSpan(0, 0, 1, 14, 365)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:c} + {1:c} = {2:c}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       07:45:16 - 18:12:38 = -10:27:22
'       07:45:16 + 18:12:38 = 1.01:57:54
'       00:01:14.3650000 + 00:00:00.2143756 = 00:01:14.5793756

Voltar à tabelaBack to table

O especificador de formato curto geral ("g")The General Short ("g") Format Specifier

O especificador de formato TimeSpan de "g" retorna a representação de sequência de um valor TimeSpan em um formato compacto, incluindo apenas os elementos que são necessários.The "g" TimeSpan format specifier returns the string representation of a TimeSpan value in a compact form by including only the elements that are necessary. Ele tem o seguinte formato:It has the following form:

[-][d:]h:mm:ss[.FFFFFFF][-][d:]h:mm:ss[.FFFFFFF]

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. Os dois pontos (:) são um símbolo literal.The colon (:) is a literal symbol. A tabela a seguir descreve os elementos restantes.The following table describes the remaining elements.

ElementoElement DescriçãoDescription
- Um sinal negativo opcional, que indica um intervalo de tempo negativo.An optional negative sign, which indicates a negative time interval.
dd O número opcional de dias, sem zeros à esquerda.The optional number of days, with no leading zeros.
hh O número de horas, que varia de "0" a "23", sem zeros à esquerda.The number of hours, which ranges from "0" to "23", with no leading zeros.
mmmm O número de minutos, que varia de "00" a "59".The number of minutes, which ranges from "00" to "59"..
ssss O número de minutos, que varia de "00" a "59".The number of seconds, which ranges from "00" to "59"..
.. O separador de fração de segundo.The fractional seconds separator. É equivalente à propriedade NumberDecimalSeparator da cultura especificada sem substituições pelo usuário.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
FFFFFFFFFFFFFF As frações de segundo.The fractional seconds. Uma vez que é exibido o mínimo de dígitos possível.As few digits as possible are displayed.

Como o especificador de formato "G", o especificador de formato "g" é localizado.Like the "G" format specifier, the "g" format specifier is localized. Seu separador de fração de segundo se baseia na cultura atual ou de uma propriedade NumberDecimalSeparator da cultura especificada.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

O exemplo a seguir instancia dois objetos TimeSpan, usa-os para executar operações aritméticas e exibe o resultado.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. Em cada caso, ele usa formatação composta para exibir o valor TimeSpan usando o especificador de formato "g".In each case, it uses composite formatting to display the TimeSpan value by using the "g" format specifier. Além disso, ele formata o valor TimeSpan usando as convenções de formatação da cultura atual do sistema (que, nesse caso, é Inglês - Estados Unidos ou en-US) e da cultura francês - França (fr-FR).In addition, it formats the TimeSpan value by using the formatting conventions of the current system culture (which, in this case, is English - United States or en-US) and the French - France (fr-FR) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2));
      
      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       7:45:16 - 18:12:38 = -10:27:22
//       7:45:16 + 18:12:38 = 1:1:57:54
//       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:g} - {1:g} = {2:g}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2))
      
      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:g} + {1:g} = {2:g}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       7:45:16 - 18:12:38 = -10:27:22
'       7:45:16 + 18:12:38 = 1:1:57:54
'       0:01:14.036 + 0:00:00.2143756 = 0:01:14.2503756

Voltar à tabelaBack to table

O especificador de formato longo geral ("G")The General Long ("G") Format Specifier

O especificador de formato TimeSpan de "G" retorna a representação de sequência de um valor TimeSpan em um formato longo que sempre inclui dias e a fração de segundo.The "G" TimeSpan format specifier returns the string representation of a TimeSpan value in a long form that always includes both days and fractional seconds. A sequência que resulta do especificador de formato padrão "G" tem o seguinte formato:The string that results from the "G" standard format specifier has the following form:

[-]d:hh:mm:ss.fffffff[-]d:hh:mm:ss.fffffff

Os elementos entre colchetes ([ e ]) são opcionais.Elements in square brackets ([ and ]) are optional. Os dois pontos (:) são um símbolo literal.The colon (:) is a literal symbol. A tabela a seguir descreve os elementos restantes.The following table describes the remaining elements.

ElementoElement DescriçãoDescription
- Um sinal negativo opcional, que indica um intervalo de tempo negativo.An optional negative sign, which indicates a negative time interval.
dd O número de dias, sem zeros à esquerda.The number of days, with no leading zeros.
hhhh O número de horas, que varia de "00" a "23".The number of hours, which ranges from "00" to "23".
mmmm O número de minutos, que varia de "00" a "59".The number of minutes, which ranges from "00" to "59".
ssss O número de segundos, que varia de "00" a "59".The number of seconds, which ranges from "00" to "59".
.. O separador de fração de segundo.The fractional seconds separator. É equivalente à propriedade NumberDecimalSeparator da cultura especificada sem substituições pelo usuário.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
ffffffffffffff As frações de segundo.The fractional seconds.

Como o especificador de formato "G", o especificador de formato "g" é localizado.Like the "G" format specifier, the "g" format specifier is localized. Seu separador de fração de segundo se baseia na cultura atual ou de uma propriedade NumberDecimalSeparator da cultura especificada.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

O exemplo a seguir instancia dois objetos TimeSpan, usa-os para executar operações aritméticas e exibe o resultado.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. Em cada caso, ele usa formatação composta para exibir o valor TimeSpan usando o especificador de formato "G".In each case, it uses composite formatting to display the TimeSpan value by using the "G" format specifier. Além disso, ele formata o valor TimeSpan usando as convenções de formatação da cultura atual do sistema (que, nesse caso, é Inglês - Estados Unidos ou en-US) e da cultura francês - França (fr-FR).In addition, it formats the TimeSpan value by using the formatting conventions of the current system culture (which, in this case, is English - United States or en-US) and the French - France (fr-FR) culture.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan interval1, interval2;
      interval1 = new TimeSpan(7, 45, 16);
      interval2 = new TimeSpan(18, 12, 38);
      
      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2);
      Console.WriteLine(String.Format(new CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2));
      
      interval1 = new TimeSpan(0, 0, 1, 14, 36);
      interval2 = TimeSpan.FromTicks(2143756);      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2);
   }
}
// The example displays the following output:
//       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
//       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
//       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim interval1, interval2 As TimeSpan
      interval1 = New TimeSpan(7, 45, 16)
      interval2 = New TimeSpan(18, 12, 38)
      
      Console.WriteLine("{0:G} - {1:G} = {2:G}", interval1, 
                        interval2, interval1 - interval2)
      Console.WriteLine(String.Format(New CultureInfo("fr-FR"), 
                        "{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2))
      
      interval1 = New TimeSpan(0, 0, 1, 14, 36)
      interval2 = TimeSpan.FromTicks(2143756)      
      Console.WriteLine("{0:G} + {1:G} = {2:G}", interval1, 
                        interval2, interval1 + interval2)
   End Sub
End Module
' The example displays the following output:
'       0:07:45:16.0000000 - 0:18:12:38.0000000 = -0:10:27:22.0000000
'       0:07:45:16,0000000 + 0:18:12:38,0000000 = 1:01:57:54,0000000
'       0:00:01:14.0360000 + 0:00:00:00.2143756 = 0:00:01:14.2503756

Voltar à tabelaBack to table

Consulte tambémSee also