Stringhe di formato TimeSpan standardStandard TimeSpan Format Strings

Una stringa di formato TimeSpan standard usa un singolo identificatore di formato per definire la rappresentazione di testo di un valore TimeSpan che risulta da un'operazione di formattazione.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. Le stringhe di formato contenenti più caratteri alfabetici, inclusi gli spazi vuoti, vengono interpretate come stringhe di formato TimeSpan personalizzato.Any format string that contains more than one character, including white space, is interpreted as a custom TimeSpan format string. Per altre informazioni, vedere Stringhe di formato TimeSpan personalizzate.For more information, see Custom TimeSpan Format Strings .

Le rappresentazione di stringa dei valori TimeSpan vengono prodotte da chiamate agli overload del metodo TimeSpan.ToString, nonché dai metodi che supportano la formattazione composita, come 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. Per altre informazioni, vedere Formattazione di tipi e Formattazione composita.For more information, see Formatting Types and Composite Formatting. Nell'esempio seguente viene illustrato l'utilizzo di stringhe di formato standard nelle operazioni di formattazione.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

Le stringhe di formato TimeSpan standard sono usate anche dai metodi TimeSpan.ParseExact e TimeSpan.TryParseExact per definire il formato richieste delle stringhe di input per le operazioni di analisiStandard 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. (l'analisi converte la rappresentazione di stringa di un valore in tale valore). Nell'esempio seguente viene illustrato l'utilizzo di stringhe di formato standard nelle operazioni di analisi.(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

Nella tabella seguente sono elencati gli identificatori di formato di intervallo di tempo standard.The following table lists the standard time interval format specifiers.

Identificatore di formatoFormat specifier nomeName DescriptionDescription EsempiExamples
"c""c" Formato di costante (invariante)Constant (invariant) format Questo identificatore non è dipendente dalle impostazioni cultura.This specifier is not culture-sensitive. Assume il formato [-][d'.']hh':'mm':'ss['.'fffffff]It takes the form [-][d'.']hh':'mm':'ss['.'fffffff].

(le stringhe di formato "t" e "T" producono gli stessi risultati).(The "t" and "T" format strings produce the same results.)

Altre informazioni: Identificatore di formato di costante ("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 breve generaleGeneral short format Questo identificatore restituisce informazioni strettamente necessarie.This specifier outputs only what is needed. È basato sulle impostazioni cultura e assume il formato [-][d':']h':'mm':'ss[.FFFFFFF].It is culture-sensitive and takes the form [-][d':']h':'mm':'ss[.FFFFFFF].

Altre informazioni: Identificatore di formato generale ("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 esteso generaleGeneral long format Questo identificatore restituisce sempre giorni e sette cifre frazionarie.This specifier always outputs days and seven fractional digits. È basato sulle impostazioni cultura e assume il formato [-]d':'hh':'mm':'ss.fffffff.It is culture-sensitive and takes the form [-]d':'hh':'mm':'ss.fffffff.

Altre informazioni: Identificatore di formato esteso generale ("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)

Identificatore di formato di costante ("C").The Constant ("c") Format Specifier

L'identificatore di formato "c" restituisce la rappresentazione di stringa di un valore TimeSpan nel formato seguente: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]

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. Il punto (.) e i due punti (:) sono simboli letterali.The period (.) and colon (:) are literal symbols. La tabella seguente descrive gli elementi rimanenti.The following table describes the remaining elements.

ElementoElement DescriptionDescription
- Un segno negativo facoltativo, che indica un intervallo di tempo negativo.An optional negative sign, which indicates a negative time interval.
dd Numero di giorni facoltativo, senza zeri iniziali.The optional number of days, with no leading zeros.
hhhh Numero di ore, nell'intervallo compreso tra "00" e "23".The number of hours, which ranges from "00" to "23".
mmmm Numero di minuti, nell'intervallo compreso tra "00" e "59".The number of minutes, which ranges from "00" to "59".
ssss Numero di secondi, nell'intervallo compreso tra "0" e "59".The number of seconds, which ranges from "0" to "59".
ffffffffffffff La parte frazionaria facoltativa di un secondo.The optional fractional portion of a second. Il valore può variare da "0000001" (un tick oppure un decimilionesimo di secondo) e "9999999" (9.999.999 decimilionesimi di secondo, o un secondo meno di un tick).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).

A differenza degli identificatori di formato "g" e "G", l'identificatore di formato "c" non è dipendente dalle impostazioni cultura.Unlike the "g" and "G" format specifiers, the "c" format specifier is not culture-sensitive. Produce la rappresentazione di stringa di un valore TimeSpan invariabile e comune a tutte le versioni di .NET Framework precedenti a .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" è la stringa di formato TimeSpan predefinita; il metodo TimeSpan.ToString() formatta un valore di intervallo di tempo usando la stringa di formato "c"."c" is the default TimeSpan format string; the TimeSpan.ToString() method formats a time interval value by using the "c" format string.

Nota

TimeSpan supporta anche le stringhe di formato standard "t" e "T", che hanno un comportamento identico alla stringa di formato standard "c".TimeSpan also supports the "t" and "T" standard format strings, which are identical in behavior to the "c" standard format string.

Nell'esempio seguente viene creata un'istanza di due oggetti TimeSpan, usati per eseguire operazioni aritmetiche e viene visualizzato il risultato.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. In ogni caso, viene usata la formattazione composita per visualizzare il valore TimeSpan con l'identificatore di 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

Torna alla tabellaBack to table

Identificatore di formato generale ("g")The General Short ("g") Format Specifier

L'identificatore di formato TimeSpan "g" restituisce la rappresentazione di stringa di un valore TimeSpan in un formato compresso includendo solo gli elementi necessari.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. Ha il formato seguente:It has the following form:

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

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. I due punti (:) sono un simbolo letterale.The colon (:) is a literal symbol. La tabella seguente descrive gli elementi rimanenti.The following table describes the remaining elements.

ElementoElement DescriptionDescription
- Un segno negativo facoltativo, che indica un intervallo di tempo negativo.An optional negative sign, which indicates a negative time interval.
dd Numero di giorni facoltativo, senza zeri iniziali.The optional number of days, with no leading zeros.
hh Numero di ore, compreso tra "0" e "23", senza zeri iniziali.The number of hours, which ranges from "0" to "23", with no leading zeros.
mmmm Numero di minuti, compreso tra "00" e "59".The number of minutes, which ranges from "00" to "59"..
ssss Numero di secondi, compreso tra "00" e "59".The number of seconds, which ranges from "00" to "59"..
.. Il separatore dei secondi frazionari.The fractional seconds separator. È equivalente alla proprietà NumberDecimalSeparator della cultura specificata senza gli override dell'utente.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
FFFFFFFFFFFFFF Frazioni di secondo.The fractional seconds. Viene visualizzato il minor numero di cifre possibile.As few digits as possible are displayed.

Come l'identificatore di formato "G", l'identificatore di formato "g" viene localizzato.Like the "G" format specifier, the "g" format specifier is localized. Il separatore delle frazioni di secondo si basa sulla cultura corrente oppure su una proprietà NumberDecimalSeparator della cultura specificata.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

Nell'esempio seguente viene creata un'istanza di due oggetti TimeSpan, usati per eseguire operazioni aritmetiche e viene visualizzato il risultato.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. In ogni caso, viene usata la formattazione composita per visualizzare il valore TimeSpan con l'identificatore di formato "g".In each case, it uses composite formatting to display the TimeSpan value by using the "g" format specifier. Inoltre, formatta il valore TimeSpan usando le convenzioni di formattazione della lingua corrente del sistema (ovvero, in questo caso, Inglese - Stati Uniti o en-US) e il Francese - Francia (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

Torna alla tabellaBack to table

Identificatore di formato esteso generale ("G")The General Long ("G") Format Specifier

L'identificatore di formato TimeSpan "G" restituisce la rappresentazione di stringa di un valore TimeSpan in un formato esteso che include sempre sia i giorni sia le frazioni di secondo.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. La stringa risultante dall'identificatore di formato standard "G" ha il seguente 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

Gli elementi tra parentesi quadre ([e]) sono facoltativi.Elements in square brackets ([ and ]) are optional. I due punti (:) sono un simbolo letterale.The colon (:) is a literal symbol. La tabella seguente descrive gli elementi rimanenti.The following table describes the remaining elements.

ElementoElement DescriptionDescription
- Un segno negativo facoltativo, che indica un intervallo di tempo negativo.An optional negative sign, which indicates a negative time interval.
dd Il numero di giorni, senza zeri iniziali.The number of days, with no leading zeros.
hhhh Numero di ore, nell'intervallo compreso tra "00" e "23".The number of hours, which ranges from "00" to "23".
mmmm Numero di minuti, nell'intervallo compreso tra "00" e "59".The number of minutes, which ranges from "00" to "59".
ssss Numero di secondi, nell'intervallo compreso tra "00" e "59".The number of seconds, which ranges from "00" to "59".
.. Il separatore dei secondi frazionari.The fractional seconds separator. È equivalente alla proprietà NumberDecimalSeparator della cultura specificata senza gli override dell'utente.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
ffffffffffffff Frazioni di secondo.The fractional seconds.

Come l'identificatore di formato "G", l'identificatore di formato "g" viene localizzato.Like the "G" format specifier, the "g" format specifier is localized. Il separatore delle frazioni di secondo si basa sulla cultura corrente oppure su una proprietà NumberDecimalSeparator della cultura specificata.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

Nell'esempio seguente viene creata un'istanza di due oggetti TimeSpan, usati per eseguire operazioni aritmetiche e viene visualizzato il risultato.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. In ogni caso, viene usata la formattazione composita per visualizzare il valore TimeSpan con l'identificatore di formato "G".In each case, it uses composite formatting to display the TimeSpan value by using the "G" format specifier. Inoltre, formatta il valore TimeSpan usando le convenzioni di formattazione della lingua corrente del sistema (ovvero, in questo caso, Inglese - Stati Uniti o en-US) e il Francese - Francia (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

Torna alla tabellaBack to table

Vedere ancheSee also