Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

TimeSpan-Struktur

 

Veröffentlicht: Oktober 2016

Stellt ein Zeitintervall dar.

Um den .NET Framework-Quellcode für diesen Typ zu durchsuchen, finden Sie unter der Reference Source.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>, IFormattable

NameBeschreibung
System_CAPS_pubmethodTimeSpan(Int32, Int32, Int32)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Stunden, Minuten und Sekunden.

System_CAPS_pubmethodTimeSpan(Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Tagen, Stunden, Minuten und Sekunden.

System_CAPS_pubmethodTimeSpan(Int32, Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Tagen, Stunden, Minuten, Sekunden und Millisekunden.

System_CAPS_pubmethodTimeSpan(Int64)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Ticks.

NameBeschreibung
System_CAPS_pubpropertyDays

Ruft die Tageskomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.

System_CAPS_pubpropertyHours

Ruft die Stundenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.

System_CAPS_pubpropertyMilliseconds

Ruft die Millisekundenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.

System_CAPS_pubpropertyMinutes

Ruft die Minutenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.

System_CAPS_pubpropertySeconds

Ruft die Sekundenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.

System_CAPS_pubpropertyTicks

Ruft die Anzahl der Ticks ab, die den Wert der aktuellen TimeSpan-Struktur darstellt.

System_CAPS_pubpropertyTotalDays

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Tagen und Bruchteilen von Tagen ab.

System_CAPS_pubpropertyTotalHours

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Stunden und Bruchteilen von Stunden ab.

System_CAPS_pubpropertyTotalMilliseconds

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Millisekunden und Bruchteilen von Millisekunden ab.

System_CAPS_pubpropertyTotalMinutes

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Minuten und Bruchteilen von Minuten ab.

System_CAPS_pubpropertyTotalSeconds

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Sekunden und Bruchteilen von Sekunden ab.

NameBeschreibung
System_CAPS_pubmethodAdd(TimeSpan)

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert die Summe aus dem angegebenen TimeSpan-Objekt und dieser Instanz ist.

System_CAPS_pubmethodSystem_CAPS_staticCompare(TimeSpan, TimeSpan)

Vergleicht zwei TimeSpan-Werte und gibt eine Ganzzahl zurück, die angibt, ob der erste Wert kürzer oder länger als der zweite Wert ist oder ob beide Werte die gleiche Länge aufweisen.

System_CAPS_pubmethodCompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz kürzer oder länger als das angegebene Objekt ist oder ob sie die gleiche Länge aufweist.

System_CAPS_pubmethodCompareTo(TimeSpan)

Vergleicht diese Instanz mit einem angegebenen TimeSpan-Objekt und gibt eine Ganzzahl zurück, die angibt, ob diese Instanz kürzer oder länger als das angegebene TimeSpan-Objekt ist oder ob sie die gleiche Länge aufweist.

System_CAPS_pubmethodDuration()

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert den absoluten Wert des aktuellen TimeSpan-Objekts darstellt.

System_CAPS_pubmethodEquals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Überschreibt ValueType.Equals(Object).)

System_CAPS_pubmethodEquals(TimeSpan)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen TimeSpan-Objekt ist.

System_CAPS_pubmethodSystem_CAPS_staticEquals(TimeSpan, TimeSpan)

Gibt einen Wert zurück, der angibt, ob zwei angegebene Instanzen von TimeSpan gleich sind.

System_CAPS_pubmethodSystem_CAPS_staticFromDays(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Tagen darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.

System_CAPS_pubmethodSystem_CAPS_staticFromHours(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Stunden darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.

System_CAPS_pubmethodSystem_CAPS_staticFromMilliseconds(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Millisekunden darstellt.

System_CAPS_pubmethodSystem_CAPS_staticFromMinutes(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Minuten darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.

System_CAPS_pubmethodSystem_CAPS_staticFromSeconds(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Sekunden darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.

System_CAPS_pubmethodSystem_CAPS_staticFromTicks(Int64)

Gibt eine TimeSpan zurück, die einen angegebenen Zeitraum darstellt. Die Angabe erfolgt in der Einheit Ticks.

System_CAPS_pubmethodGetHashCode()

Gibt einen Hashcode für diese Instanz zurück.(Überschreibt ValueType.GetHashCode().)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodNegate()

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert der negierte Wert dieser Instanz ist.

System_CAPS_pubmethodSystem_CAPS_staticParse(String)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.

System_CAPS_pubmethodSystem_CAPS_staticParse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.

System_CAPS_pubmethodSystem_CAPS_staticParseExact(String, String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Formats und der kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.

System_CAPS_pubmethodSystem_CAPS_staticParseExact(String, String, IFormatProvider, TimeSpanStyles)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Formats, der kulturspezifischen Formatierungsinformationen und Stile in die entsprechende TimeSpan. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.

System_CAPS_pubmethodSystem_CAPS_staticParseExact(String, String[], IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Arrays von Formatierungszeichenfolgen und der kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.

System_CAPS_pubmethodSystem_CAPS_staticParseExact(String, String[], IFormatProvider, TimeSpanStyles)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen Formate, der kulturspezifischen Formatierungsinformationen und Stile in die entsprechende TimeSpan. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.

System_CAPS_pubmethodSubtract(TimeSpan)

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert die Differenz zwischen dem angegebenen TimeSpan-Objekt und dieser Instanz ist.

System_CAPS_pubmethodToString()

Konvertiert den Wert des aktuellen TimeSpan-Objekts in die entsprechende Zeichenfolgendarstellung.(Überschreibt ValueType.ToString().)

System_CAPS_pubmethodToString(String)

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

System_CAPS_pubmethodToString(String, IFormatProvider)

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

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, IFormatProvider, TimeSpan)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.

System_CAPS_pubmethodSystem_CAPS_staticTryParse(String, TimeSpan)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

System_CAPS_pubmethodSystem_CAPS_staticTryParseExact(String, String, IFormatProvider, TimeSpan)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Formats und der kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.

System_CAPS_pubmethodSystem_CAPS_staticTryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Formats, der kulturspezifischen Formatierungsinformationen und Stile in die entsprechende TimeSpan und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.

System_CAPS_pubmethodSystem_CAPS_staticTryParseExact(String, String[], IFormatProvider, TimeSpan)

Konvertiert die angegebene Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen Formate und kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.

System_CAPS_pubmethodSystem_CAPS_staticTryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Konvertiert die angegebene Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen Formate, kulturspezifischen Formatierungsinformationen und Stile in die entsprechende TimeSpan und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.

NameBeschreibung
System_CAPS_pubfieldSystem_CAPS_staticMaxValue

Stellt den maximalen TimeSpan-Wert dar. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticMinValue

Stellt den minimalen TimeSpan-Wert dar. Dieses Feld ist schreibgeschützt.

System_CAPS_pubfieldSystem_CAPS_staticTicksPerDay

Stellt die Anzahl der Ticks pro Tag dar. Dieses Feld ist konstant.

System_CAPS_pubfieldSystem_CAPS_staticTicksPerHour

Stellt die Anzahl der Ticks pro Stunde dar. Dieses Feld ist konstant.

System_CAPS_pubfieldSystem_CAPS_staticTicksPerMillisecond

Stellt die Anzahl der Ticks pro Millisekunde dar. Dieses Feld ist konstant.

System_CAPS_pubfieldSystem_CAPS_staticTicksPerMinute

Stellt die Anzahl der Ticks pro Minute dar. Dieses Feld ist konstant.

System_CAPS_pubfieldSystem_CAPS_staticTicksPerSecond

Stellt die Anzahl der Ticks pro Sekunde dar.

System_CAPS_pubfieldSystem_CAPS_staticZero

Stellt den TimeSpan-Wert für 0 (null) dar. Dieses Feld ist schreibgeschützt.

NameBeschreibung
System_CAPS_puboperatorSystem_CAPS_staticAddition(TimeSpan, TimeSpan)

Addiert zwei angegebene TimeSpan-Instanzen.

System_CAPS_puboperatorSystem_CAPS_staticEquality(TimeSpan, TimeSpan)

Gibt an, ob zwei TimeSpan-Instanzen gleich sind.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThan(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan größer als eine andere angegebene TimeSpan ist.

System_CAPS_puboperatorSystem_CAPS_staticGreaterThanOrEqual(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan größer oder gleich einer anderen angegebenen TimeSpan ist.

System_CAPS_puboperatorSystem_CAPS_staticInequality(TimeSpan, TimeSpan)

Gibt an, ob zwei TimeSpan-Instanzen ungleich sind.

System_CAPS_puboperatorSystem_CAPS_staticLessThan(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan kleiner als eine andere angegebene TimeSpan ist.

System_CAPS_puboperatorSystem_CAPS_staticLessThanOrEqual(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan kleiner oder gleich einer anderen angegebenen TimeSpan ist.

System_CAPS_puboperatorSystem_CAPS_staticSubtraction(TimeSpan, TimeSpan)

Subtrahiert eine angegebene TimeSpan von einer anderen angegebenen TimeSpan.

System_CAPS_puboperatorSystem_CAPS_staticUnaryNegation(TimeSpan)

Gibt eine TimeSpan zurück, deren Wert der negierte Wert der angegebenen Instanz ist.

System_CAPS_puboperatorSystem_CAPS_staticUnaryPlus(TimeSpan)

Gibt die angegebene Instanz von TimeSpan zurück.

System_CAPS_noteHinweis

Die .NET Framework-Quellcodes für diesen Typ finden Sie unter der Reference Source. Sie können den Quellcode online Durchsuchen, Referenz für die Offlineanzeige herunterladen und schrittweise durchlaufen (inklusive Patches und Updates) während des Debuggens; see instructions.

Ein TimeSpan-Objekt stellt ein Zeitintervall (Dauer bzw. verstrichene Zeit) dar, das als positive oder negative Anzahl von Tagen, Stunden, Minuten, Sekunden und Sekundenbruchteilen gemessen wird. Die TimeSpan-Struktur kann auch zur Darstellung einer Tageszeit verwendet werden, jedoch nur, wenn diese nicht im Zusammenhang mit einem bestimmten Datum steht. Andernfalls sollte stattdessen die DateTime oder DateTimeOffset Struktur verwendet werden. (Weitere Informationen zur Verwendung der TimeSpan Struktur entsprechen der Zeit des Tages, finden Sie unter Auswählen zwischen "DateTime", "DateTimeOffset", "TimeSpan" und "TimeZoneInfo".)

System_CAPS_noteHinweis

Ein TimeSpan Wert stellt ein Zeitintervall dar und kann als eine bestimmte Anzahl von Tagen, Stunden, Minuten, Sekunden und Millisekunden ausgedrückt werden. Da es sich um eine allgemeine Intervall ohne Verweis auf einen bestimmten Start- oder Endpunkt darstellt, kann es in Bezug auf Jahren und Monaten, die eine Variable Anzahl von Tagen haben ausgedrückt werden. Es unterscheidet sich von einem DateTime -Wert, der ein Datum und Uhrzeit ohne Verweis auf eine bestimmte Zeitzone darstellt, oder ein DateTimeOffset -Wert, der einen bestimmten Zeitpunkt darstellt.

Die größte Organisationseinheit Mal die TimeSpan Struktur verwendet, um die Dauer zu messen ist ein Tag. Zeitintervalle werden in Tagen aus Gründen der Konsistenz gemessen, da die Anzahl der Tage in größeren Zeiteinheiten wie Monaten und Jahren variiert.

Der Wert, der ein TimeSpan Objekt ist die Anzahl der Ticks, die das dargestellten Zeitintervall entspricht. Ein Tick entspricht 100 Nanosekunden oder ein zehnmillionstel einer Sekunde. Der Wert des ein TimeSpan Objekt reichen von TimeSpan.MinValue zu TimeSpan.MaxValue.

Instanziieren Sie ein TimeSpan Wert in eine Reihe von Möglichkeiten:

  • Durch Aufrufen der impliziten Standardkonstruktor. Erstellt ein Objekt, dessen Wert TimeSpan.Zero, wie im folgende Beispiel gezeigt.

    TimeSpan interval = new TimeSpan();
    Console.WriteLine(interval.Equals(TimeSpan.Zero));    // Displays "True".
    
  • Durch Aufrufen der explizite Konstruktoren. Im folgenden Beispiel wird ein TimeSpan Wert mit einer angegebenen Anzahl von Stunden, Minuten und Sekunden.

    TimeSpan interval = new TimeSpan(2, 14, 18);
    Console.WriteLine(interval.ToString());              // Displays "02:14:18".
    
  • Durch Aufrufen einer Methode oder Ausführen einer Operation, die gibt einen TimeSpan Wert. Sie können z. B. Instanziieren einer TimeSpan -Wert, der das Intervall zwischen zwei Datums- und Zeitwerten, wie im folgenden Beispiel gezeigt.

    DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
    DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
    TimeSpan travelTime = arrival - departure;  
    Console.WriteLine("{0} - {1} = {2}", arrival, departure, travelTime);      
    // The example displays the following output:
    //       6/13/2010 10:47:00 PM - 6/12/2010 6:32:00 PM = 1.04:15:00
    

    Sie können auch Initialisieren einer TimeSpan Objekt in einen mit dem Wert 0 (null) Uhrzeit auf diese Weise, wie im folgenden Beispiel gezeigt.

    using System;
    
    public class Example
    {
       static Random rnd = new Random();
    
       public static void Main()
       {
          TimeSpan timeSpent = TimeSpan.Zero;
    
          timeSpent += GetTimeBeforeLunch();
          timeSpent += GetTimeAfterLunch();
    
          Console.WriteLine("Total time: {0}", timeSpent);
       }
    
       private static TimeSpan GetTimeBeforeLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    
       private static TimeSpan GetTimeAfterLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    }
    // The example displays output like the following:
    //        Total time: 08:00:00
    

    TimeSpan von arithmetischen Operatoren und Methoden des zurückgegebenen sind die DateTime, DateTimeOffset, und TimeSpan Strukturen.

  • Durch das Analysieren der Darstellung der Zeichenfolge ein TimeSpan Wert. Sie können die Parse und TryParse Methoden zum Konvertieren von Zeichenfolgen, die Zeitintervalle zu enthalten TimeSpan Werte. Im folgenden Beispiel wird die Parse Methode, um ein Array von Zeichenfolgen zu konvertieren TimeSpan Werte.

    string[] values = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"};
    foreach (string value in values)
    {
       try {
          TimeSpan ts = TimeSpan.Parse(value);
          Console.WriteLine("'{0}' --> {1}", value, ts);
       }
       catch (FormatException) {
          Console.WriteLine("Unable to parse '{0}'", value);
       }
       catch (OverflowException) {
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value);
       }   
    }
    // The example displays the following output:
    //       '12' --> 12.00:00:00
    //       Unable to parse '31.'
    //       '5.8:32:16' --> 5.08:32:16
    //       '12:12:15.95' --> 12:12:15.9500000
    //       Unable to parse '.12'  
    

    Darüber hinaus können Sie das exakte Format der Eingabezeichenfolge analysiert und konvertiert werden definieren eine TimeSpan -Wert durch Aufrufen der ParseExact oder TryParseExact Methode.

Hinzufügen und subtrahieren, entweder mithilfe der Addition und Subtraction Operatoren oder durch Aufrufen der Add und Subtract Methoden. Sie können auch zwei Zeitdauern vergleichen, durch Aufrufen der Compare, CompareTo, und Equals Methoden. Die TimeSpan Struktur enthält außerdem die Duration und Negate -Methoden, die Zeitintervalle in positive und negative Werte konvertieren,

Den Bereich der TimeSpan Werte MinValueMaxValue.

Ein TimeSpan Wert dargestellt werden kann, als [-]d.hh:mm:ss.FF, wobei die optionale Minuszeichen ein negatives Zeitintervall angibt der d Tage, Hh Stunden im 24-Stunden-Format, gemessen mm Minuten, ss Sekunden und ff Bruchteile einer Sekunde. Ein Zeitintervall besteht also eine positive oder negative Anzahl von Tagen ohne eine Tageszeit oder einer Anzahl von Tagen mit einer Tageszeit oder nur eine Uhrzeit.

Beginnend mit der .NET Framework 4, die TimeSpan Struktur unterstützt kulturabhängige Formatierung durch Überladungen der seine ToString Methode, die konvertiert ein TimeSpan Wert in seine Zeichenfolgendarstellung. Die Standardeinstellung TimeSpan.ToString() -Methode gibt ein Zeitintervall mit einem unveränderlichen Format, das dem entsprechenden Rückgabewert in früheren Versionen von .NET Framework identisch ist. Die TimeSpan.ToString(String) Überladung können Sie eine Zeichenfolge angeben, die Darstellung der Zeichenfolge das angegebene Zeitintervall definiert. Die TimeSpan.ToString(String, IFormatProvider) Überladung ermöglicht die Angabe einer Formatzeichenfolge und die Kultur, deren Formatierungskonventionen verwendet, um die Darstellung des Zeitintervalls zu erstellen. TimeSpan sowohl standardmäßige und benutzerdefinierte Formatzeichenfolgen unterstützt. (Weitere Informationen finden Sie unter TimeSpan-Standardformatzeichenfolgen und Benutzerdefinierte TimeSpan-Formatzeichenfolgen.) Nur Standardformatzeichenfolgen sind jedoch kulturabhängig.

In einigen Fällen code, der erfolgreich Formate TimeSpan Werte in .NET Framework 3.5 und frühere Versionen nicht .NET Framework 4. Dies ist die am häufigsten in der aufrufende Code eine < TimeSpan_LegacyFormatMode >-Element -Methode formatieren ein TimeSpan Wert mit einer Formatzeichenfolge. Im folgenden Beispiel wird erfolgreich formatiert ein TimeSpan Wert in .NET Framework 3.5 und in früheren Versionen jedoch eine Ausnahme in .NET Framework 4 und höhere Versionen. Beachten Sie, die es versucht, Formatieren einer TimeSpan Wert mit einem nicht unterstützten Formatbezeichner, der im ignoriert wird .NET Framework 3.5 und früheren Versionen.

TimeSpan interval = new TimeSpan(12, 30, 45);
string output;
try {
   output = String.Format("{0:r}", interval);
}
catch (FormatException) {
   output = "Invalid Format";
}
Console.WriteLine(output);
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format

Wenn Sie den Code ändern können, können Sie wiederherstellen, die ältere Formatierung der TimeSpan -Werte in einer der folgenden Methoden:

  • Indem Sie eine Konfigurationsdatei erstellen, enthält die < TimeSpan_LegacyFormatMode >-Element. Dieses Element festlegen enabled -Attribut true wiederhergestellt Legacy TimeSpan jeweils pro Anwendung formatieren.

  • Durch Festlegen der Kompatibilität "NetFx40_TimeSpanLegacyFormatMode" wechseln Sie, wenn eine Anwendungsdomäne zu erstellen. Dies ermöglicht eine Legacy- TimeSpan pro Domäne pro Anwendung formatieren. Das folgende Beispiel erstellt eine Anwendungsdomäne, die verwendet, die ältere TimeSpan formatieren.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          AppDomainSetup appSetup = new AppDomainSetup();
          appSetup.SetCompatibilitySwitches( new string[] { "NetFx40_TimeSpanLegacyFormatMode" } );
          AppDomain legacyDomain = AppDomain.CreateDomain("legacyDomain", 
                                                          null, appSetup);
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe");
       }
    }
    

    Wenn der folgende Code in der neuen Anwendungsdomäne ausgeführt wird, werden sie Legacy TimeSpan Formatierungsverhalten.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          TimeSpan interval = DateTime.Now - DateTime.Now.Date;
          string msg = String.Format("Elapsed Time Today: {0:d} hours.",
                                     interval);
          Console.WriteLine(msg);
       }
    }
    // The example displays the following output:
    //       Elapsed Time Today: 01:40:52.2524662 hours.
    

Im folgenden Beispiel wird ein TimeSpan -Objekt, das die Differenz zwischen zwei Datumsangaben. Es zeigt dann die TimeSpan Eigenschaften des Objekts.

// Define two dates.
DateTime date1 = new DateTime(2010, 1, 1, 8, 0, 15);
DateTime date2 = new DateTime(2010, 8, 18, 13, 30, 30);
// Calculate the interval between the two dates.
TimeSpan interval = date2 - date1;
Console.WriteLine("{0} - {1} = {2}", date2, date1, interval.ToString());
// Display individual properties of the resulting TimeSpan object.
Console.WriteLine("   {0,-35} {1,20}", "Value of Days Component:", interval.Days);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays);
Console.WriteLine("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours);
Console.WriteLine("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes);
Console.WriteLine("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds);
Console.WriteLine("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks);
// the example displays the following output:
//       8/18/2010 1:30:30 PM - 1/1/2010 8:00:15 AM = 229.05:30:15
//          Value of Days Component:                             229
//          Total Number of Days:                   229.229340277778
//          Value of Hours Component:                              5
//          Total Number of Hours:                  5501.50416666667
//          Value of Minutes Component:                           30
//          Total Number of Minutes:                       330090.25
//          Value of Seconds Component:                           15
//          Total Number of Seconds:                      19,805,415
//          Value of Milliseconds Component:                       0
//          Total Number of Milliseconds:             19,805,415,000
//          Ticks:                               198,054,150,000,000

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: