Freigeben über


TimeSpan.ToString Methode

Definition

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

Überlädt

ToString()

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

ToString(String)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats 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.

ToString()

Quelle:
TimeSpan.cs
Quelle:
TimeSpan.cs
Quelle:
TimeSpan.cs

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

Die Zeichenfolgendarstellung des aktuellen TimeSpan-Werts.

Beispiele

Im folgenden Beispiel werden die Zeichenfolgen angezeigt, die durch Aufrufen der ToString -Methode mit einer Reihe von TimeSpan Werten zurückgegeben werden. Beachten Sie, dass die -Methode im Beispiel zwar nicht direkt aufgerufen ToString wird, aber von der Console.WriteLine -Methode aufgerufen wird, wenn versucht wird, einen TimeSpan Wert in ihre 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
// 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

Hinweise

Die zurückgegebene Zeichenfolge ist 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 Punkte (: und.) sind Literalzeichen. Die nicht literalen Elemente sind in der folgenden Tabelle aufgeführt. Beachten Sie, dass die von der ToString() -Methode zurückgegebene Zeichenfolge 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 weggelassen, wenn das Zeitintervall kleiner als einen Tag ist.
"hh" Die Anzahl der Stunden im Zeitintervall zwischen 0 und 23.
"mm" Die Anzahl der Minuten im Zeitintervall zwischen 0 und 59.
"ss" Die Anzahl der Sekunden im Zeitintervall zwischen 0 und 59.
"fffffffff" Sekundenbruchteile im Zeitintervall. Dieses Element wird weggelassen, 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 Formatierungswerte TimeSpan 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 TimeSpan Werts zu steuern, rufen Sie die ToString(String) - oder ToString(String, IFormatProvider) -Überladung auf.

Weitere Informationen

Gilt für:

ToString(String)

Quelle:
TimeSpan.cs
Quelle:
TimeSpan.cs
Quelle:
TimeSpan.cs

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

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 TimeSpan Werten anzuzeigen.

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.

Hinweise

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

Wenn format es sich um eine Standardformatzeichenfolge handelt, 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 Zeittrennzeichen. 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 Abbildung und im Thema Benutzerdefinierte TimeSpan-Formatzeichenfolgen .

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

Weitere Informationen

Gilt für:

ToString(String, IFormatProvider)

Quelle:
TimeSpan.cs
Quelle:
TimeSpan.cs
Quelle:
TimeSpan.cs

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

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 aufgerufen, um zwei Zeitintervalle zu formatieren. Im Beispiel wird die -Methode zweimal für jede Formatzeichenfolge aufgerufen, zunächst, um sie mithilfe der Konventionen der en-US-Kultur anzuzeigen, und dann, um sie mithilfe der Konventionen der fr-FR-Kultur 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
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

Hinweise

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

Wichtig

Die benutzerdefinierten Formatzeichenfolgen für TimeSpan Werte enthalten kein Datums- oder Zeittrennzeichen. 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 Abbildung und im Thema Benutzerdefinierte TimeSpan-Formatzeichenfolgen .

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

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

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

Weitere Informationen

Gilt für: