TimeSpan-StandardformatzeichenfolgenStandard TimeSpan Format Strings

Eine standardmäßige TimeSpan-Formatzeichenfolge verwendet einen einzelnen Formatbezeichner, um die Textdarstellung eines TimeSpan-Werts zu definieren, der sich aus einem Formatierungsvorgang ergibt.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. Jede Formatzeichenfolge, die mehr als ein Zeichen (einschließlich Leerzeichen) enthält, wird als benutzerdefinierte TimeSpan-Zahlenformatzeichenfolge interpretiert.Any format string that contains more than one character, including white space, is interpreted as a custom TimeSpan format string. Weitere Informationen finden Sie unter Benutzerdefinierte TimeSpan-Formatzeichenfolgen.For more information, see Custom TimeSpan Format Strings .

Die Zeichenfolgendarstellungen von TimeSpan-Werten werden durch Aufrufe der Überladungen der TimeSpan.ToString-Methode und durch Methoden, die die kombinierte Formatierung unterstützen (z. B. String.Format), erzeugt.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. Weitere Informationen finden Sie unter Formatieren von Typen und Zusammengesetzte Formatierung.For more information, see Formatting Types and Composite Formatting. Das folgende Beispiel veranschaulicht die Verwendung von Standardformatzeichenfolgen bei Formatierungsvorgängen.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

Standardmäßige TimeSpan-Formatzeichenfolgen werden auch von der TimeSpan.ParseExact-Methode und TimeSpan.TryParseExact-Methode verwendet, um das erforderliche Format von Eingabezeichenfolgen für Analysevorgänge zu definieren.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. (Beim Analysieren wird die Zeichenfolgendarstellung eines Werts in diesen Wert konvertiert.) Das folgende Beispiel veranschaulicht die Verwendung von Standardformatzeichenfolgen bei Analysevorgängen.(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

Die folgende Tabelle enthält die Standardzeitintervall-Formatbezeichner.The following table lists the standard time interval format specifiers.

FormatbezeichnerFormat specifier nameName BESCHREIBUNGDescription BeispieleExamples
"c""c" Konstantenformat (unveränderlich)Constant (invariant) format Dieser Bezeichner ist nicht kulturabhängig.This specifier is not culture-sensitive. Er hat das Format [-][d'.']hh':'mm':'ss['.'fffffff].It takes the form [-][d'.']hh':'mm':'ss['.'fffffff].

(Die "t"- und "T"-Formatzeichenfolgen erzeugen die gleichen Ergebnisse.)(The "t" and "T" format strings produce the same results.)

Weitere Informationen: Der Konstantenformatbezeichner "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" Allgemeines kurzes FormatGeneral short format Dieser Bezeichner gibt nur aus, was benötigt wird.This specifier outputs only what is needed. Es ist kulturabhängig und besitzt das Format [-][d':']h':'mm':'ss[.FFFFFFF].It is culture-sensitive and takes the form [-][d':']h':'mm':'ss[.FFFFFFF].

Weitere Informationen: Der allgemeine Kurzformatbezeichner "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" Allgemeines LangformatGeneral long format Dieser Bezeichner gibt immer Tage und sieben Dezimalstellen aus.This specifier always outputs days and seven fractional digits. Es ist kulturabhängig und besitzt das Format [-]d':'hh':'mm':'ss.fffffff.It is culture-sensitive and takes the form [-]d':'hh':'mm':'ss.fffffff.

Weitere Informationen: Der allgemeine Langformatbezeichner "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)

Der Konstantenformatbezeichner "c"The Constant ("c") Format Specifier

Der Formatbezeichner "c" gibt die Zeichenfolgendarstellung eines TimeSpan-Werts in der folgenden Form an: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]

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. Der Punkt (.) und der Doppelpunkt (:) sind Literalsymbole.The period (.) and colon (:) are literal symbols. In der folgenden Tabelle werden die restlichen Elemente beschrieben.The following table describes the remaining elements.

ElementElement BESCHREIBUNGDescription
- Ein optionales negatives Vorzeichen, das ein negatives Zeitintervall angibt.An optional negative sign, which indicates a negative time interval.
dd Die optionale Anzahl von Tagen ohne führende Nullen.The optional number of days, with no leading zeros.
hhhh Die Anzahl von Stunden zwischen "00" und "23".The number of hours, which ranges from "00" to "23".
mmmm Die Anzahl von Minuten zwischen "00" und "59".The number of minutes, which ranges from "00" to "59".
ssss Die Anzahl von Sekunden zwischen "0" und "59".The number of seconds, which ranges from "0" to "59".
ffffffffffffff Der optionale Bruchteil einer Sekunde.The optional fractional portion of a second. Der Wert kann zwischen "0000001" (ein Tick oder ein Zehnmillionstel einer Sekunde) und "9999999" (9.999.999 Zehnmillionstel einer Sekunde oder eine Sekunde minus ein Tick) liegen.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).

Anders als die Formatbezeichner "G" und "g" ist der Formatbezeichner "c" nicht kulturabhängig.Unlike the "g" and "G" format specifiers, the "c" format specifier is not culture-sensitive. Er erzeugt die Zeichenfolgendarstellung eines TimeSpan-Werts, der unveränderlich ist und für alle früheren .NET Framework-Versionen vor .NET Framework 4 verwendet wird.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“ ist die standardmäßige TimeSpan-Formatzeichenfolge. Die TimeSpan.ToString()-Methode formatiert einen Zeitintervallwert mit der Formatzeichenfolge „c“."c" is the default TimeSpan format string; the TimeSpan.ToString() method formats a time interval value by using the "c" format string.

Hinweis

TimeSpan unterstützt auch die standardmäßigen "t"- und "T"-Formatzeichenfolgen, die im Verhalten identisch mit der Standardformatzeichenfolge "c" sind.TimeSpan also supports the "t" and "T" standard format strings, which are identical in behavior to the "c" standard format string.

Im folgenden Beispiel werden zwei TimeSpan-Objekte instanziiert, zum Ausführen arithmetischer Vorgänge verwendet, und das Ergebnis wird angezeigt.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. In jedem Fall wird die kombinierte Formatierung verwendet, um den TimeSpan-Wert mithilfe des Formatbezeichners "c" anzuzeigen.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

Zurück zur TabelleBack to table

Der allgemeine Kurzformatbezeichner "g"The General Short ("g") Format Specifier

Der TimeSpan-Formatbezeichner "g" gibt die Zeichenfolgendarstellung eines TimeSpan-Werts in einem kompakten Format an, indem nur die erforderlichen Elemente eingeschlossen werden.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. Er hat das folgende Format:It has the following form:

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

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. Der Doppelpunkt (:) ist ein Literalsymbol.The colon (:) is a literal symbol. In der folgenden Tabelle werden die restlichen Elemente beschrieben.The following table describes the remaining elements.

ElementElement BESCHREIBUNGDescription
- Ein optionales negatives Vorzeichen, das ein negatives Zeitintervall angibt.An optional negative sign, which indicates a negative time interval.
dd Die optionale Anzahl von Tagen ohne führende Nullen.The optional number of days, with no leading zeros.
hh Die Anzahl von Stunden zwischen "0" und "23" ohne führende Nullen.The number of hours, which ranges from "0" to "23", with no leading zeros.
mmmm Die Anzahl von Minuten zwischen "00" und "59".The number of minutes, which ranges from "00" to "59"..
ssss Die Anzahl von Sekunden zwischen "00" und "59".The number of seconds, which ranges from "00" to "59"..
.. Das Trennzeichen für Sekundenbruchteile.The fractional seconds separator. Dies entspricht der NumberDecimalSeparator-Eigenschaft der angegebenen Kultur ohne Benutzerüberschreibungen.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
FFFFFFFFFFFFFF Die Sekundenbruchteile.The fractional seconds. Es werden so wenig Ziffern wie möglich angezeigt.As few digits as possible are displayed.

Der Formatbezeichner "g" ist wie der Formatbezeichner "G" lokalisiert.Like the "G" format specifier, the "g" format specifier is localized. Das Trennzeichen für Sekundenbruchteile basiert auf der aktuellen Kultur oder der NumberDecimalSeparator-Eigenschaft einer angegebenen Kultur.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

Im folgenden Beispiel werden zwei TimeSpan-Objekte instanziiert, zum Ausführen arithmetischer Vorgänge verwendet, und das Ergebnis wird angezeigt.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. In jedem Fall wird die kombinierte Formatierung zum Anzeigen des TimeSpan-Werts mit dem Formatbezeichner "g" verwendet.In each case, it uses composite formatting to display the TimeSpan value by using the "g" format specifier. Darüber hinaus wir der TimeSpan-Wert unter Verwendung der Formatierungskonventionen der aktuellen Systemkultur formatiert (d. h. in diesem Fall Englisch - USA oder en-US) und der Kultur Französisch - Frankreich (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

Zurück zur TabelleBack to table

Der allgemeine Langformatbezeichner "G"The General Long ("G") Format Specifier

Der TimeSpan-Formatbezeichner "G" gibt die Zeichenfolgendarstellung eines TimeSpan-Werts in einem Langformat zurück, das immer Tage und Sekundenbruchteile enthält.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. Die Zeichenfolge, die sich aus dem Standardformatbezeichner "G" ergibt, hat folgendes Format:The string that results from the "G" standard format specifier has the following form:

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

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. Der Doppelpunkt (:) ist ein Literalsymbol.The colon (:) is a literal symbol. In der folgenden Tabelle werden die restlichen Elemente beschrieben.The following table describes the remaining elements.

ElementElement BESCHREIBUNGDescription
- Ein optionales negatives Vorzeichen, das ein negatives Zeitintervall angibt.An optional negative sign, which indicates a negative time interval.
dd Die Anzahl von Tagen ohne führende Nullen.The number of days, with no leading zeros.
hhhh Die Anzahl von Stunden zwischen "00" und "23".The number of hours, which ranges from "00" to "23".
mmmm Die Anzahl von Minuten zwischen "00" und "59".The number of minutes, which ranges from "00" to "59".
ssss Die Anzahl von Sekunden zwischen "00" und "59".The number of seconds, which ranges from "00" to "59".
.. Das Trennzeichen für Sekundenbruchteile.The fractional seconds separator. Dies entspricht der NumberDecimalSeparator-Eigenschaft der angegebenen Kultur ohne Benutzerüberschreibungen.It is equivalent to the specified culture's NumberDecimalSeparator property without user overrides.
ffffffffffffff Die Sekundenbruchteile.The fractional seconds.

Der Formatbezeichner "g" ist wie der Formatbezeichner "G" lokalisiert.Like the "G" format specifier, the "g" format specifier is localized. Das Trennzeichen für Sekundenbruchteile basiert auf der aktuellen Kultur oder der NumberDecimalSeparator-Eigenschaft einer angegebenen Kultur.Its fractional seconds separator is based on either the current culture or a specified culture's NumberDecimalSeparator property.

Im folgenden Beispiel werden zwei TimeSpan-Objekte instanziiert, zum Ausführen arithmetischer Vorgänge verwendet, und das Ergebnis wird angezeigt.The following example instantiates two TimeSpan objects, uses them to perform arithmetic operations, and displays the result. In jedem Fall wird die kombinierte Formatierung zum Anzeigen des TimeSpan-Werts mit dem Formatbezeichner "G" verwendet.In each case, it uses composite formatting to display the TimeSpan value by using the "G" format specifier. Darüber hinaus wir der TimeSpan-Wert unter Verwendung der Formatierungskonventionen der aktuellen Systemkultur formatiert (d. h. in diesem Fall Englisch - USA oder en-US) und der Kultur Französisch - Frankreich (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

Zurück zur TabelleBack to table

Siehe auchSee also