Compartilhar via


TimeSpan.ToString Método

Definição

Converte o valor do atual objeto TimeSpan na representação de cadeia de caracteres equivalente.

Sobrecargas

ToString()

Converte o valor do atual objeto TimeSpan na representação de cadeia de caracteres equivalente.

ToString(String)

Converte o valor do objeto TimeSpan atual para sua representação de cadeia de caracteres equivalente usando o formato especificado.

ToString(String, IFormatProvider)

Converte o valor do objeto TimeSpan atual na representação de cadeia de caracteres equivalente usando o formato especificado e as informações de formatação específicas da cultura.

ToString()

Origem:
TimeSpan.cs
Origem:
TimeSpan.cs
Origem:
TimeSpan.cs

Converte o valor do atual objeto TimeSpan na representação de cadeia de caracteres equivalente.

public:
 override System::String ^ ToString();
public override string ToString ();
override this.ToString : unit -> string
Public Overrides Function ToString () As String

Retornos

Uma representação de cadeia de caracteres do valor TimeSpan atual.

Exemplos

O exemplo a seguir exibe as cadeias de caracteres retornadas chamando o ToString método com vários TimeSpan valores. Observe que, embora o exemplo não chame o ToString método diretamente, ele é chamado pelo Console.WriteLine método quando tenta converter um TimeSpan valor em sua representação de cadeia de caracteres.

 TimeSpan span;
 
 // Initialize a time span to zero.
 span = TimeSpan.Zero;
 Console.WriteLine(span);

 // Initialize a time span to 14 days.
 span = new TimeSpan(-14, 0, 0, 0, 0);
 Console.WriteLine(span);

 // Initialize a time span to 1:02:03.
 span = new TimeSpan(1, 2, 3);
 Console.WriteLine(span);

 // Initialize a time span to 250 milliseconds.
 span = new TimeSpan(0, 0, 0, 0, 250);
 Console.WriteLine(span);
 
 // Initialize a time span to 99 days, 23 hours, 59 minutes, and 59.999 seconds.
 span = new TimeSpan(99, 23, 59, 59, 999);
 Console.WriteLine(span);
 
 // Initialize a time span to 3 hours.
 span = new TimeSpan(3, 0, 0);
 Console.WriteLine(span);
 
 // Initialize a timespan to 25 milliseconds.
 span = new TimeSpan(0, 0, 0, 0, 25);
 Console.WriteLine(span);

 // The example displays the following output:
 //       00:00:00
 //       -14.00:00:00
 //       01:02:03
 //       00:00:00.2500000
 //       99.23:59:59.9990000
 //       03:00:00
 //       00:00:00.0250000
// Initialize a time span to zero.
let span = TimeSpan.Zero
printfn $"{span}"

// Initialize a time span to 14 days.
let span = TimeSpan(-14, 0, 0, 0, 0)
printfn $"{span}"

// Initialize a time span to 1:02:03.
let span = TimeSpan(1, 2, 3)
printfn $"{span}"

// Initialize a time span to 250 milliseconds.
let span = TimeSpan(0, 0, 0, 0, 250)
printfn $"{span}"

// Initialize a time span to 99 days, 23 hours, 59 minutes, and 59.999 seconds.
let span = TimeSpan(99, 23, 59, 59, 999)
printfn $"{span}"

// Initialize a time span to 3 hours.
let span = TimeSpan(3, 0, 0)
printfn $"{span}"

// Initialize a timespan to 25 milliseconds.
let span = TimeSpan(0, 0, 0, 0, 25)
printfn $"{span}"

// The example displays the following output:
//       00:00:00
//       -14.00:00:00
//       01:02:03
//       00:00:00.2500000
//       99.23:59:59.9990000
//       03:00:00
//       00:00:00.0250000
Module ToString
   Public Sub Main()
      Dim span As TimeSpan
      
      ' Initialize a time span to zero.
      span = TimeSpan.Zero
      Console.WriteLine(span)
      
      ' Initialize a time span to 14 days.
      span = New TimeSpan(-14, 0, 0, 0, 0)
      Console.WriteLine(span)
     
      ' Initialize a time span to 1:02:03.
      span = New TimeSpan(1, 2, 3)
      Console.WriteLine(span)
      
      
      ' Initialize a time span to 250 milliseconds.
      span = New TimeSpan(0, 0, 0, 0, 250)
      Console.WriteLine(span)
      
      ' Initialize a time span to 99 days, 23 hours, 59 minutes, and 59.9999999 seconds.
      span = New TimeSpan(99, 23, 59, 59, 999)
      Console.WriteLine(span)
      
      ' Initialize a time span to 3 hours.
      span = New TimeSpan(3, 0, 0)
      Console.WriteLine(span)
      
      ' Initialize a timespan to 25 milliseconds.
      span = New TimeSpan(0, 0, 0, 0, 25)
      Console.WriteLine(span)
   End Sub
End Module
' The example displays the following output:
'       00:00:00
'       -14.00:00:00
'       01:02:03
'       00:00:00.2500000
'       99.23:59:59.9990000
'       03:00:00
'       00:00:00.0250000

Comentários

A cadeia de caracteres retornada é formatada com o especificador de formato "c" e tem o seguinte formato:

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

Elementos entre colchetes ([ e ]) podem não ser incluídos na cadeia de caracteres retornada. Dois-pontos e períodos (: e.) são caracteres literais. Os elementos não literais são listados na tabela a seguir. Observe que a cadeia de caracteres retornada pelo ToString() método não diferencia a cultura.

Item Descrição
"-" Um sinal de menos, que indica um intervalo de tempo negativo. Nenhum sinal é incluído para um período de tempo positivo.
"d" O número de dias no intervalo de tempo. Esse elemento será omitido se o intervalo de tempo for menor que um dia.
"hh" O número de horas no intervalo de tempo, variando de 0 a 23.
"mm" O número de minutos no intervalo de tempo, variando de 0 a 59.
"ss" O número de segundos no intervalo de tempo, variando de 0 a 59.
"fffffff" Segundos fracionários no intervalo de tempo. Esse elemento será omitido se o intervalo de tempo não incluir segundos fracionários. Se presente, segundos fracionários são sempre expressos usando sete dígitos decimais.

Notas aos Chamadores

O suporte para formatação TimeSpan de valores foi adicionado no .NET Framework 4. No entanto, a sobrecarga do ToString() método permanece sem diferenciação de cultura. Seu comportamento permanece inalterado em relação às versões anteriores do .NET Framework. Para controlar a formatação de um TimeSpan valor, chame a ToString(String) sobrecarga ou ToString(String, IFormatProvider) .

Confira também

Aplica-se a

ToString(String)

Origem:
TimeSpan.cs
Origem:
TimeSpan.cs
Origem:
TimeSpan.cs

Converte o valor do objeto TimeSpan atual para sua representação de cadeia de caracteres equivalente usando o formato especificado.

public:
 System::String ^ ToString(System::String ^ format);
public string ToString (string format);
public string ToString (string? format);
override this.ToString : string -> string
Public Function ToString (format As String) As String

Parâmetros

format
String

Uma cadeia de caracteres de formato TimeSpan personalizada ou padrão.

Retornos

A representação de cadeia de caracteres do valor TimeSpan atual no formato especificado pelo parâmetro format.

Exceções

O parâmetro format não é reconhecido ou não tem suporte.

Exemplos

O exemplo a seguir usa cadeias de caracteres de formato padrão e personalizado TimeSpan para exibir a representação de cadeia de caracteres de cada elemento em uma matriz de TimeSpan valores

TimeSpan[] spans = { 
   TimeSpan.Zero, 
   new TimeSpan(-14, 0, 0, 0, 0), 
   new TimeSpan(1, 2, 3), 
   new TimeSpan(0, 0, 0, 0, 250), 
   new TimeSpan(99, 23, 59, 59, 999),
   new TimeSpan(3, 0, 0), 
   new TimeSpan(0, 0, 0, 0, 25) 
};

string[] fmts = { "c", "g", "G", @"hh\:mm\:ss", "%m' min.'" };
foreach (TimeSpan span in spans)
{
   foreach (string fmt in fmts)
      Console.WriteLine("{0}: {1}", fmt, span.ToString(fmt));

   Console.WriteLine();
}
// The example displays the following output:
//       c: 00:00:00
//       g: 0:00:00
//       G: 0:00:00:00.0000000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: -14.00:00:00
//       g: -14:0:00:00
//       G: -14:00:00:00.0000000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: 01:02:03
//       g: 1:02:03
//       G: 0:01:02:03.0000000
//       hh\:mm\:ss: 01:02:03
//       %m' min.': 2 min.
//       
//       c: 00:00:00.2500000
//       g: 0:00:00.25
//       G: 0:00:00:00.2500000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: 99.23:59:59.9990000
//       g: 99:23:59:59.999
//       G: 99:23:59:59.9990000
//       hh\:mm\:ss: 23:59:59
//       %m' min.': 59 min.
//       
//       c: 03:00:00
//       g: 3:00:00
//       G: 0:03:00:00.0000000
//       hh\:mm\:ss: 03:00:00
//       %m' min.': 0 min.
//       
//       c: 00:00:00.0250000
//       g: 0:00:00.025
//       G: 0:00:00:00.0250000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
let spans = 
    [| TimeSpan.Zero
       TimeSpan(-14, 0, 0, 0, 0)
       TimeSpan(1, 2, 3)
       TimeSpan(0, 0, 0, 0, 250)
       TimeSpan(99, 23, 59, 59, 999)
       TimeSpan(3, 0, 0)
       TimeSpan(0, 0, 0, 0, 25) |]


let fmts = [| "c"; "g"; "G"; @"hh\:mm\:ss"; "%m' min.'" |]
for span in spans do
    for fmt in fmts do
        printfn $"{fmt}: {span.ToString fmt}"
    printfn ""
// The example displays the following output:
//       c: 00:00:00
//       g: 0:00:00
//       G: 0:00:00:00.0000000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: -14.00:00:00
//       g: -14:0:00:00
//       G: -14:00:00:00.0000000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: 01:02:03
//       g: 1:02:03
//       G: 0:01:02:03.0000000
//       hh\:mm\:ss: 01:02:03
//       %m' min.': 2 min.
//       
//       c: 00:00:00.2500000
//       g: 0:00:00.25
//       G: 0:00:00:00.2500000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
//       
//       c: 99.23:59:59.9990000
//       g: 99:23:59:59.999
//       G: 99:23:59:59.9990000
//       hh\:mm\:ss: 23:59:59
//       %m' min.': 59 min.
//       
//       c: 03:00:00
//       g: 3:00:00
//       G: 0:03:00:00.0000000
//       hh\:mm\:ss: 03:00:00
//       %m' min.': 0 min.
//       
//       c: 00:00:00.0250000
//       g: 0:00:00.025
//       G: 0:00:00:00.0250000
//       hh\:mm\:ss: 00:00:00
//       %m' min.': 0 min.
Module Example
   Public Sub Main()
      Dim spans() As TimeSpan = { TimeSpan.Zero, New TimeSpan(-14, 0, 0, 0, 0), 
                                  New TimeSpan(1, 2, 3), 
                                  New TimeSpan(0, 0, 0, 0, 250), 
                                  New TimeSpan(99, 23, 59, 59, 999),
                                  New TimeSpan(3, 0, 0), 
                                  New TimeSpan(0, 0, 0, 0, 25) }
      Dim fmts() As String = { "c", "g", "G", "hh\:mm\:ss", "%m' min.'" }
      For Each span As TimeSpan In spans
         For Each fmt As String In fmts
            Console.WriteLine("{0}: {1}", fmt, span.ToString(fmt))
         Next
         Console.WriteLine()         
      Next
   End Sub
End Module
' The example displays the following output:
'       c: 00:00:00
'       g: 0:00:00
'       G: 0:00:00:00.0000000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.
'       
'       c: -14.00:00:00
'       g: -14:0:00:00
'       G: -14:00:00:00.0000000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.
'       
'       c: 01:02:03
'       g: 1:02:03
'       G: 0:01:02:03.0000000
'       hh\:mm\:ss: 01:02:03
'       %m' min.': 2 min.
'       
'       c: 00:00:00.2500000
'       g: 0:00:00.25
'       G: 0:00:00:00.2500000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.
'       
'       c: 99.23:59:59.9990000
'       g: 99:23:59:59.999
'       G: 99:23:59:59.9990000
'       hh\:mm\:ss: 23:59:59
'       %m' min.': 59 min.
'       
'       c: 03:00:00
'       g: 3:00:00
'       G: 0:03:00:00.0000000
'       hh\:mm\:ss: 03:00:00
'       %m' min.': 0 min.
'       
'       c: 00:00:00.0250000
'       g: 0:00:00.025
'       G: 0:00:00:00.0250000
'       hh\:mm\:ss: 00:00:00
'       %m' min.': 0 min.

Comentários

O format parâmetro pode ser qualquer especificador de formato padrão ou personalizado válido para TimeSpan valores. Se format for igual a String.Empty ou for null, o valor retornado do objeto atual TimeSpan será formatado com o especificador de formato comum ("c"). Caso format tenha qualquer outro valor, o método lança um FormatException.

Se format for uma cadeia de caracteres de formato padrão, o formato da cadeia de caracteres retornada será definido pelas convenções de formatação da cultura atual.

Importante

As cadeias de caracteres de formato personalizado para TimeSpan valores não incluem um separador de data ou hora. Se você quiser incluir esses elementos na cadeia de caracteres de formato, deverá tratá-los como literais de caracteres. Consulte o exemplo de uma ilustração e consulte o tópico Cadeias de caracteres de formato TimeSpan personalizado para obter mais informações.

O .NET fornece amplo suporte à formatação, que é descrito com mais detalhes nos seguintes tópicos de formatação:

Confira também

Aplica-se a

ToString(String, IFormatProvider)

Origem:
TimeSpan.cs
Origem:
TimeSpan.cs
Origem:
TimeSpan.cs

Converte o valor do objeto TimeSpan atual na representação de cadeia de caracteres equivalente usando o formato especificado e as informações de formatação específicas da cultura.

public:
 virtual System::String ^ ToString(System::String ^ format, IFormatProvider ^ formatProvider);
public string ToString (string format, IFormatProvider formatProvider);
public string ToString (string? format, IFormatProvider? formatProvider);
override this.ToString : string * IFormatProvider -> string
Public Function ToString (format As String, formatProvider As IFormatProvider) As String

Parâmetros

format
String

Uma cadeia de caracteres de formato TimeSpan personalizada ou padrão.

formatProvider
IFormatProvider

Um objeto que fornece informações de formatação específicas da cultura.

Retornos

Uma representação de cadeia de caracteres do valor TimeSpan atual, conforme especificado por format e formatProvider.

Implementações

Exceções

O parâmetro format não é reconhecido ou não tem suporte.

Exemplos

O exemplo a seguir chama o ToString(String, IFormatProvider) método para formatar dois intervalos de tempo. O exemplo chama o método duas vezes para cada cadeia de caracteres de formato, primeiro para exibi-lo usando as convenções da cultura en-US e, em seguida, exibi-lo usando as convenções da cultura fr-FR.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      TimeSpan[] intervals = { new TimeSpan(38, 30, 15), 
                               new TimeSpan(16, 14, 30) }; 
      CultureInfo[] cultures = { new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };
      string[] formats = {"c", "g", "G", @"hh\:mm\:ss" };
      Console.WriteLine("{0,12}      Format  {1,22}  {2,22}\n", 
                        "Interval", cultures[0].Name, cultures[1].Name);

      foreach (var interval in intervals) {
         foreach (var fmt in formats)
            Console.WriteLine("{0,12}  {1,10}  {2,22}  {3,22}", 
                              interval, fmt, 
                              interval.ToString(fmt, cultures[0]), 
                              interval.ToString(fmt, cultures[1]));
         Console.WriteLine();
      }  
   }
}
// The example displays the following output:
//        Interval      Format                   en-US                   fr-FR
//    
//      1.14:30:15           c              1.14:30:15              1.14:30:15
//      1.14:30:15           g              1:14:30:15              1:14:30:15
//      1.14:30:15           G      1:14:30:15.0000000      1:14:30:15,0000000
//      1.14:30:15  hh\:mm\:ss                14:30:15                14:30:15
//    
//        16:14:30           c                16:14:30                16:14:30
//        16:14:30           g                16:14:30                16:14:30
//        16:14:30           G      0:16:14:30.0000000      0:16:14:30,0000000
//        16:14:30  hh\:mm\:ss                16:14:30                16:14:30
open System
open System.Globalization

let intervals = 
    [| TimeSpan(38, 30, 15)
       TimeSpan(16, 14, 30) |] 
let cultures = 
    [| CultureInfo "en-US"
       CultureInfo "fr-FR" |]
let formats = [| "c"; "g"; "G"; @"hh\:mm\:ss" |]
printfn $"""{"Interval",12}      Format  {cultures[0].Name,22}  {cultures[1].Name,22}\n""" 

for interval in intervals do
    for fmt in formats do
        printfn $"{interval,12}  {fmt,10}  {interval.ToString(fmt, cultures[0]),22}  {interval.ToString(fmt, cultures[1]),22}"
    printfn ""
// The example displays the following output:
//        Interval      Format                   en-US                   fr-FR
//    
//      1.14:30:15           c              1.14:30:15              1.14:30:15
//      1.14:30:15           g              1:14:30:15              1:14:30:15
//      1.14:30:15           G      1:14:30:15.0000000      1:14:30:15,0000000
//      1.14:30:15  hh\:mm\:ss                14:30:15                14:30:15
//    
//        16:14:30           c                16:14:30                16:14:30
//        16:14:30           g                16:14:30                16:14:30
//        16:14:30           G      0:16:14:30.0000000      0:16:14:30,0000000
//        16:14:30  hh\:mm\:ss                16:14:30                16:14:30
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim intervals() As TimeSpan = { New TimeSpan(38, 30, 15), 
                                      New TimeSpan(16, 14, 30) } 
      Dim cultures() As CultureInfo = { New CultureInfo("en-US"), 
                                        New CultureInfo("fr-FR") }
      Dim formats() As String = {"c", "g", "G", "hh\:mm\:ss" }
      Console.WriteLine("{0,12}      Format  {1,22}  {2,22}", 
                        "Interval", cultures(0).Name, cultures(1).Name)
      Console.WriteLine()
      For Each interval In intervals
         For Each fmt In formats
            Console.WriteLine("{0,12}  {1,10}  {2,22}  {3,22}", 
                              interval, fmt, 
                              interval.ToString(fmt, cultures(0)), 
                              interval.ToString(fmt, cultures(1)))
         Next
         Console.WriteLine()
      Next                                                                                                                                            
   End Sub
End Module
' The example displays the following output:
'        Interval      Format                   en-US                   fr-FR
'    
'      1.14:30:15           c              1.14:30:15              1.14:30:15
'      1.14:30:15           g              1:14:30:15              1:14:30:15
'      1.14:30:15           G      1:14:30:15.0000000      1:14:30:15,0000000
'      1.14:30:15  hh\:mm\:ss                14:30:15                14:30:15
'    
'        16:14:30           c                16:14:30                16:14:30
'        16:14:30           g                16:14:30                16:14:30
'        16:14:30           G      0:16:14:30.0000000      0:16:14:30,0000000
'        16:14:30  hh\:mm\:ss                16:14:30                16:14:30

Comentários

O format parâmetro pode ser qualquer especificador de formato padrão ou personalizado válido para TimeSpan valores. Se format for igual a String.Empty ou for null, o valor retornado do objeto atual TimeSpan será formatado com o especificador de formato comum ("c"). Se format for qualquer outro valor, o método lançará um FormatException.

Importante

As cadeias de caracteres de formato personalizado para TimeSpan valores não incluem um separador de data ou hora. Se você quiser incluir esses elementos na cadeia de caracteres de formato, deverá tratá-los como literais de caracteres. Consulte o exemplo de uma ilustração e consulte o tópico Cadeias de caracteres de formato TimeSpan personalizado para obter mais informações.

O .NET fornece amplo suporte à formatação, que é descrito com mais detalhes nos seguintes tópicos de formatação:

O formatProvider parâmetro é uma implementação IFormatProvider que fornece informações específicas da cultura sobre o formato da cadeia de caracteres retornada. O parâmetro formatProvider pode ser um dos seguintes:

Caso formatProvider seja null, o objeto DateTimeFormatInfo que está associado à cultura atual é usado. Se format for uma cadeia de caracteres de formato personalizado, o formatProvider parâmetro será ignorado.

Confira também

Aplica-se a