TimeSpan.ToString Methode

Definition

Konvertiert den Wert des aktuellen TimeSpan-Objekts in die entsprechende Zeichenfolgendarstellung.

Überlädt

ToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats und der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

ToString(String)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.

ToString()

Konvertiert den Wert des aktuellen TimeSpan-Objekts in die entsprechende Zeichenfolgendarstellung.

ToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats und der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

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

Parameter

format
String

Eine standardmäßige oder benutzerdefinierte TimeSpan-Formatierungszeichenfolge.

formatProvider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

String

Die Zeichenfolgendarstellung des aktuellen TimeSpan-Werts, wie von format und formatProvider angegeben.

Implementiert

Ausnahmen

Der format-Parameter wird nicht erkannt oder nicht unterstützt.

Beispiele

Im folgenden Beispiel wird die ToString(String, IFormatProvider) -Methode zum Formatieren von zwei Zeitintervallen verwendet. Das Beispiel ruft die -Methode zweimal für jede Formatzeichenfolge auf, um sie zuerst mithilfe der Konventionen der Kultur "en-US" und dann mithilfe der Konventionen der kultur fr-FR anzuzeigen.

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

Hinweise

Der format Parameter kann ein beliebiger gültiger Standardformatbezeichner oder benutzerdefinierter Formatbezeichner für Werte TimeSpan sein. Wenn format gleich String.Empty oder null ist, wird der Rückgabewert des aktuellen TimeSpan Objekts mit dem allgemeinen Formatbezeichner ("c") formatiert. Wenn format ein anderer Wert ist, löst die Methode eine FormatException aus.

Wichtig

Die benutzerdefinierten Formatzeichenfolgen für TimeSpan Werte enthalten kein Datums- oder Uhrzeittrennzeichen. Wenn Sie diese Elemente in ihre Formatzeichenfolge einschließen möchten, müssen Sie sie als Zeichenliterale behandeln. Weitere Informationen finden Sie im Beispiel für eine Veranschaulichung und im Thema Benutzerdefinierte TimeSpan-Formatzeichenfolgen.

.NET bietet umfassende Formatierungsunterstützung, die in den folgenden Formatierungsthemen ausführlicher beschrieben wird:

Der formatProvider -Parameter ist eine IFormatProvider Implementierung, die kulturspezifische Informationen zum Format der zurückgegebenen Zeichenfolge bereitstellt. Der formatProvider -Parameter kann eine der folgenden Sein:

Wenn formatProvider null ist, wird das DateTimeFormatInfo -Objekt verwendet, das der aktuellen Kultur zugeordnet ist. Wenn format eine benutzerdefinierte Formatzeichenfolge ist, wird der formatProvider -Parameter ignoriert.

Siehe auch

Gilt für

ToString(String)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.

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

Parameter

format
String

Eine standardmäßige oder benutzerdefinierte TimeSpan-Formatierungszeichenfolge.

Gibt zurück

String

Die Zeichenfolgendarstellung des aktuellen TimeSpan-Werts im durch den format-Parameter angegebenen Format.

Ausnahmen

Der format-Parameter wird nicht erkannt oder nicht unterstützt.

Beispiele

Im folgenden Beispiel werden standard- und benutzerdefinierte TimeSpan Formatzeichenfolgen verwendet, um die Zeichenfolgendarstellung jedes Elements in einem Array von Werten anzuzeigen. TimeSpan

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

Hinweise

Der format Parameter kann ein beliebiger gültiger Standardformatbezeichner oder benutzerdefinierter Formatbezeichner für Werte TimeSpan sein. Wenn format gleich String.Empty oder null ist, wird der Rückgabewert des aktuellen TimeSpan Objekts mit dem allgemeinen Formatbezeichner ("c") formatiert. Wenn format ein anderer Wert ist, löst die Methode eine FormatException aus.

Wenn format eine Standardformatzeichenfolge ist, wird das Format der zurückgegebenen Zeichenfolge durch die Formatierungskonventionen der aktuellen Kultur definiert.

Wichtig

Die benutzerdefinierten Formatzeichenfolgen für TimeSpan Werte enthalten kein Datums- oder Uhrzeittrennzeichen. Wenn Sie diese Elemente in ihre Formatzeichenfolge einschließen möchten, müssen Sie sie als Zeichenliterale behandeln. Weitere Informationen finden Sie im Beispiel für eine Veranschaulichung und im Thema Benutzerdefinierte TimeSpan-Formatzeichenfolgen.

.NET bietet umfassende Formatierungsunterstützung, die in den folgenden Formatierungsthemen ausführlicher beschrieben wird:

Siehe auch

Gilt für

ToString()

Konvertiert den Wert des aktuellen TimeSpan-Objekts in die entsprechende Zeichenfolgendarstellung.

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

Gibt zurück

String

Die Zeichenfolgendarstellung des aktuellen TimeSpan-Werts.

Beispiele

Im folgenden Beispiel werden die Zeichenfolgen angezeigt, die durch Aufrufen der -Methode mit einer Reihe von Werten zurückgegeben ToString TimeSpan werden. Beachten Sie, dass die -Methode zwar nicht direkt aufgerufen ToString wird, aber von der -Methode aufgerufen wird, wenn versucht wird, Console.WriteLine einen Wert in ihre TimeSpan Zeichenfolgendarstellung zu konvertieren.

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

Hinweise

Die zurückgegebene Zeichenfolge wird mit dem Formatbezeichner "c" formatiert und weist das folgende Format auf:

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

Elemente in eckigen Klammern ([ und ]) sind möglicherweise nicht in der zurückgegebenen Zeichenfolge enthalten. Doppelpunkte und Zeiträume (: und ) sind Literalzeichen. Die nicht literalen Elemente sind in der folgenden Tabelle aufgeführt. Beachten Sie, dass die von der -Methode zurückgegebene Zeichenfolge ToString() nicht kulturabhängig ist.

Element Beschreibung
"-" Ein Minuszeichen, das ein negatives Zeitintervall angibt. Für eine positive Zeitspanne ist kein Vorzeichen enthalten.
"d" Die Anzahl der Tage im Zeitintervall. Dieses Element wird ausgelassen, wenn das Zeitintervall kleiner als ein Tag ist.
"hh" Die Anzahl der Stunden im Zeitintervall im Bereich von 0 bis 23.
"mm" Die Anzahl der Minuten im Zeitintervall im Bereich von 0 bis 59.
"ss" Die Anzahl der Sekunden im Zeitintervall im Bereich von 0 bis 59.
"fffffff" Sekundenbruchteile im Zeitintervall. Dieses Element wird ausgelassen, wenn das Zeitintervall keine Sekundenbruchteile enthält. Falls vorhanden, werden Sekundenbruchteile immer mit sieben Dezimalstellen ausgedrückt.

Hinweise für Aufrufer

Unterstützung für das Formatieren von TimeSpan Werten wurde im .NET Framework 4 hinzugefügt. Die ToString() Methodenüberladung bleibt jedoch kulturunabhängig. Sein Verhalten bleibt gegenüber früheren Versionen der .NET Framework unverändert. Um die Formatierung eines Werts zu TimeSpan steuern, rufen Sie die ToString(String) - oder ToString(String, IFormatProvider) -Überladung auf.

Siehe auch

Gilt für