Compartilhar via


Cadeias de caracteres de formato TimeSpan padrão

Um padrão TimeSpan seqüência de caracteres de formato usa um especificador de formato único para definir a representação de texto de um TimeSpan valor que resulta de uma operação de formatação. Qualquer seqüência de caracteres de formato contém mais de um caractere, incluindo o espaço em branco, é interpretada como um personalizado TimeSpan seqüência de caracteres de formato. Para obter mais informações, consulte Cadeias de caracteres de formato TimeSpan personalizadas .

As representações de strings de TimeSpan valores são produzidos por chamadas para as sobrecargas da TimeSpan.ToString método, bem como por métodos que aceitam formatação composto, tal como String.Format. Para obter mais informações, consulte Tipos de Formatação e Formatação Composta. O exemplo a seguir ilustra o uso de seqüências de caracteres de formato padrão em operações de formatação.

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
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

Padrão TimeSpan cadeias de caracteres de formato também são usadas pelo TimeSpan.ParseExact e TimeSpan.TryParseExact métodos para definir o formato obrigatório de seqüências de caracteres de entrada para operações de análise. (Análise converte a representação de seqüência de caracteres de um valor para esse valor.) O exemplo a seguir ilustra o uso de seqüências de caracteres de formato padrão na análise de operações.

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
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

A tabela a seguir lista os especificadores de formato de intervalo de tempo padrão.

Especificador de Formato

Nome

Descrição

Exemplos

"c"

Formato de constante (invariável)

Este especificador não é sensível à cultura. Ele assume a forma [-][d’.’]hh’:’mm’:’ss[‘.’fffffff].

(O "t" e o "T" seqüências de caracteres de formato produzem os mesmos resultados).

Mais informações: A constante ("c") especificador de formato.

TimeSpan.Zero -> 00:00:00

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

New TimeSpan(3, 17, 25, 30, 500) -> 3.17:25:30.5000000

"g"

Formato curto geral

Este especificador saídas apenas o que é necessário. É a cultura e assume a forma [-][d’:’]h’:’mm’:’ss[.FFFFFFF].

Mais informações: O curto geral ("g") especificador de formato.

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, 599)-> 1:3:16:50.599 (en-US)

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

"G"

Formato longo geral

Este especificador sempre produz dias e sete dígitos fracionais. É a cultura e assume a forma [-]d’:’hh’:’mm’:’ss.fffffff.

Mais informações: O especificador de formato geral longa ("G").

New TimeSpan(18, 30, 0)-> 0:18:30:00.0000000 (en-US)

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

A constante ("c") especificador de formato

O "c" especificador de formato retorna a representação de seqüência de caracteres de um TimeSpan o valor da seguinte forma:

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

Elementos em colchetes ([e]) são opcionais. O ponto (.) e dois-pontos (:) são símbolos literais. A tabela a seguir descreve os elementos restantes.

Elemento

Descrição

-

Um opcional sinal negativo, que indica um intervalo de tempo negativo.

d

O número opcional de dias, com nenhuma zeros à esquerda.

hh

O número de horas, que varia de "00" a "23".

mm

O número de minutos, que varia de "00" a "59".

SS

O número de segundos, que varia de "0" a "59".

fffffff

O número de milissegundos, opcional que varia de "0010000" para "9990000".

Ao contrário de "g" e "G" especificadores de formato "c" especificador de formato não é sensível à cultura. Ela produz a representação de seqüência de caracteres de um TimeSpan valor que é invariável e que é comum a todas as versões anteriores do.NET Framework antes de .NET Framework versão 4. " c." é o padrão TimeSpan seqüência de caracteres de formato; o TimeSpan.ToString() método formata um valor de intervalo de tempo usando o "c" seqüência de caracteres de formato.

Observação

TimeSpantambém suporta o "t" e o "T" seqüências de caracteres de formato padrão, que são um comportamento idênticas ao "c" seqüência de caracteres de formato padrão.

O exemplo a seguir instancia dois TimeSpan objetos, usa-los para executar operações aritméticas e exibe o resultado. Em cada caso, ele usa a formatação composto para exibir o TimeSpan valor usando o "c" especificador de formato.

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
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

Volta à tabela

O curto geral ("g") especificador de formato

"g" TimeSpanespecificador de formato retorna a representação de seqüência de caracteres de um TimeSpan o valor em um formato compacto, incluindo elementos que são necessários. Ele tem a seguinte forma:

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

Elementos em colchetes ([e]) são opcionais. Os dois-pontos (:) é um símbolo de literal. A tabela a seguir descreve os elementos restantes.

Elemento

Descrição

-

Um opcional sinal negativo, que indica um intervalo de tempo negativo.

d

O número opcional de dias, com nenhuma zeros à esquerda.

h

O número de horas, que varia de "0" a "23", com nenhuma zeros.

mm

O número de minutos, que varia de "00" a "59"...

SS

O número de segundos, que varia de "00" a "59"...

.

O separador de fração de segundo. Ela é equivalente a cultura especificada NumberDecimalSeparator propriedade sem substituições do usuário.

FFFFFFF

Fração de segundo. Como alguns dígitos possível são exibidos.

Como "G" especificador de formato, "g" especificador de formato é localizada. O separador de fração de segundo baseia-se em uma cultura especificada ou a cultura atual NumberDecimalSeparator propriedade.

O exemplo a seguir instancia dois TimeSpan objetos, usa-los para executar operações aritméticas e exibe o resultado. Em cada caso, ele usa a formatação composto para exibir o TimeSpan valor usando o "g" especificador de formato. Além disso, ele formata a TimeSpan valor usando as convenções de formatação a cultura atual do sistema (que, nesse caso, é o inglês - Estados Unidos ou en-US) e Francês - França (fr-FR) cultura.

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
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

Volta à tabela

O especificador de formato geral longa ("G")

"G" TimeSpanespecificador de formato retorna a representação de seqüência de caracteres de um TimeSpan o valor em um formulário longo que sempre inclui dias e fracionária de segundos. A seqüência de caracteres que resulta da "G" o especificador de formato padrão tem a seguinte forma:

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

Elementos em colchetes ([e]) são opcionais. Os dois-pontos (:) é um símbolo de literal. A tabela a seguir descreve os elementos restantes.

Elemento

Descrição

-

Um opcional sinal negativo, que indica um intervalo de tempo negativo.

d

O número de dias, com nenhuma zeros à esquerda.

hh

O número de horas, que varia de "00" a "23".

mm

O número de minutos, que varia de "00" a "59".

SS

O número de segundos, que varia de "00" a "59".

.

O separador de fração de segundo. Ela é equivalente a cultura especificada NumberDecimalSeparator propriedade sem substituições do usuário.

fffffff

Fração de segundo.

Como "G" especificador de formato, "g" especificador de formato é localizada. O separador de fração de segundo baseia-se em uma cultura especificada ou a cultura atual NumberDecimalSeparator propriedade.

O exemplo a seguir instancia dois TimeSpan objetos, usa-los para executar operações aritméticas e exibe o resultado. Em cada caso, ele usa a formatação composto para exibir o TimeSpan valor usando o "G" especificador de formato. Além disso, ele formata a TimeSpan valor usando as convenções de formatação a cultura atual do sistema (que, nesse caso, é o inglês - Estados Unidos ou en-US) e Francês - França (fr-FR) cultura.

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
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

Volta à tabela

Consulte também

Conceitos

Tipos de Formatação

Outros recursos

Cadeias de caracteres de formato TimeSpan personalizadas

Analisando sequências de caracteres