TimeSpan Struktur

Definition

Stellt ein Zeitintervall dar.Represents a time interval.

public value class TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
type TimeSpan = struct
    interface IFormattable
Public Structure TimeSpan
Implements IComparable, IComparable(Of TimeSpan), IEquatable(Of TimeSpan), IFormattable
Vererbung
TimeSpan
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird ein TimeSpan -Objekt instanziiert, das die Differenz zwischen zwei Datumsangaben darstellt.The following example instantiates a TimeSpan object that represents the difference between two dates. Anschließend werden die Eigenschaften TimeSpan des Objekts angezeigt.It then displays the TimeSpan object's properties.

// 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);

// This 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
' Define two dates.
Dim date1 As Date = #1/1/2010 8:00:15AM#
Dim date2 As Date = #8/18/2010 1:30:30PM#
' Calculate the interval between the two dates.
Dim interval As TimeSpan = 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
# Define two dates.
$Date2 = Get-Date -Date '2010/8/18' -Hour 13 -Minute 30 -Second 30
$Date1 = Get-Date -Date '2010/1/1'  -Hour 8  -Minute 0  -Second 15

# Calculate the interval between the two dates.
$Interval = $Date2 - $Date1
"{0} - {1} = {2}" -f $Date2, $Date1, ($Interval.ToString())

#  Display individual properties of the resulting TimeSpan object.
"   {0,-35} {1,20}"    -f "Value of Days Component:", $Interval.Days
"   {0,-35} {1,20}"    -f "Total Number of Days:", $Interval.TotalDays
"   {0,-35} {1,20}"    -f "Value of Hours Component:", $Interval.Hours
"   {0,-35} {1,20}"    -f "Total Number of Hours:", $Interval.TotalHours
"   {0,-35} {1,20}"    -f "Value of Minutes Component:", $Interval.Minutes
"   {0,-35} {1,20}"    -f "Total Number of Minutes:", $Interval.TotalMinutes
"   {0,-35} {1,20:N0}" -f "Value of Seconds Component:", $Interval.Seconds
"   {0,-35} {1,20:N0}" -f "Total Number of Seconds:", $Interval.TotalSeconds
"   {0,-35} {1,20:N0}" -f "Value of Milliseconds Component:", $Interval.Milliseconds
"   {0,-35} {1,20:N0}" -f "Total Number of Milliseconds:", $Interval.TotalMilliseconds
"   {0,-35} {1,20:N0}" -f "Ticks:", $Interval.Ticks

<# This sample produces the following output:

18/08/2010 13:30:30 - 01/01/2010 08:00:15 = 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
#>

Hinweise

Ein TimeSpan -Objekt stellt ein Zeitintervall (Dauer oder verstrichene Zeit) dar, das als positive oder negative Anzahl von Tagen, Stunden, Minuten, Sekunden und Sekundenbruchteilen gemessen wird.A TimeSpan object represents a time interval (duration of time or elapsed time) that is measured as a positive or negative number of days, hours, minutes, seconds, and fractions of a second. Die TimeSpan -Struktur kann auch zur Darstellung der Tageszeit verwendet werden, jedoch nur, wenn die Zeit nicht mit einem bestimmten Datum verknüpft ist.The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. Andernfalls sollte stattdessen DateTime die DateTimeOffset -Struktur oder die-Struktur verwendet werden.Otherwise, the DateTime or DateTimeOffset structure should be used instead. (Weitere Informationen zum Verwenden der TimeSpan -Struktur zum widerspiegeln der Tageszeit finden Sie unter auswählen zwischen DateTime, DateTimeOffset, TimeSpan und TimeZoneInfo.)(For more information about using the TimeSpan structure to reflect the time of day, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.)

Hinweis

Ein TimeSpan Wert stellt ein Zeitintervall dar und kann als eine bestimmte Anzahl von Tagen, Stunden, Minuten, Sekunden und Millisekunden ausgedrückt werden.A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds. Da es sich um ein allgemeines Intervall ohne Verweis auf einen bestimmten Start-oder Endpunkt handelt, kann es nicht in Form von Jahren und Monaten ausgedrückt werden, die beide über eine Variable Anzahl von Tagen verfügen.Because it represents a general interval without reference to a particular start or end point, it cannot be expressed in terms of years and months, both of which have a variable number of days. Sie unterscheidet sich DateTime von einem-Wert, der ein Datum und eine Uhrzeit ohne Verweis auf eine bestimmte Zeitzone darstellt DateTimeOffset , oder einen Wert, der einen bestimmten Zeitpunkt darstellt.It differs from a DateTime value, which represents a date and time without reference to a particular time zone, or a DateTimeOffset value, which represents a specific moment of time.

Die größte Zeiteinheit, die die TimeSpan Struktur verwendet, um die Dauer zu messen, ist ein Tag.The largest unit of time that the TimeSpan structure uses to measure duration is a day. Zeitintervalle werden aus Gründen der Konsistenz in Tagen gemessen, weil die Anzahl der Tage in größeren Zeiteinheiten (z. b. Monate und Jahre) variiert.Time intervals are measured in days for consistency, because the number of days in larger units of time, such as months and years, varies.

Der Wert eines TimeSpan -Objekts ist die Anzahl der Ticks, die dem dargestellten Zeitintervall entsprechen.The value of a TimeSpan object is the number of ticks that equal the represented time interval. Ein Tick ist gleich 100 nanoseconds oder 1 10-Millionstel einer Sekunde.A tick is equal to 100 nanoseconds, or one ten-millionth of a second. Der Wert eines TimeSpan -Objekts kann zwischen TimeSpan.MinValue und TimeSpan.MaxValueliegen.The value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

Instanziieren eines TimeSpan-WertsInstantiating a TimeSpan Value

Es gibt verschiedene Möglichkeiten, um TimeSpan einen Wert zu instanziieren:You can instantiate a TimeSpan value in a number of ways:

  • Durch Aufrufen des impliziten Parameter losen Konstruktors.By calling its implicit parameterless constructor. Dadurch wird ein Objekt erstellt, dessen TimeSpan.ZeroWert ist, wie im folgenden Beispiel gezeigt.This creates an object whose value is TimeSpan.Zero, as the following example shows.

    TimeSpan interval = new TimeSpan();
    Console.WriteLine(interval.Equals(TimeSpan.Zero));    // Displays "True".
    
    Dim interval As New TimeSpan()
    Console.WriteLine(interval.Equals(TimeSpan.Zero))     ' Displays "True".
    
  • Durch Aufrufen eines expliziten Konstruktors.By calling one of its explicit constructors. Im folgenden Beispiel wird ein TimeSpan -Wert mit der angegebenen Anzahl von Stunden, Minuten und Sekunden initialisiert.The following example initializes a TimeSpan value to a specified number of hours, minutes, and seconds.

    TimeSpan interval = new TimeSpan(2, 14, 18);
    Console.WriteLine(interval.ToString());              
    
    // Displays "02:14:18".
    
    Dim interval As New TimeSpan(2, 14, 18)
    Console.WriteLine(interval.ToString())                ' Displays "02:14:18".
    
  • Durch Aufrufen einer Methode oder durch Ausführen eines Vorgangs, der TimeSpan einen Wert zurückgibt.By calling a method or performing an operation that returns a TimeSpan value. Beispielsweise können Sie einen TimeSpan Wert instanziieren, der das Intervall zwischen zwei Datums-und Uhrzeitwerten darstellt, wie im folgenden Beispiel gezeigt.For example, you can instantiate a TimeSpan value that represents the interval between two date and time values, as the following example shows.

    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
    
    Dim departure As DateTime = #06/12/2010 6:32PM#
    Dim arrival As DateTime = #06/13/2010 10:47PM#
    Dim travelTime As TimeSpan = 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 ein TimeSpan -Objekt auf diese Weise auch mit einem NULL-Zeitwert initialisieren, wie im folgenden Beispiel gezeigt.You can also initialize a TimeSpan object to a zero time value in this way, as the following example shows.

       Random rnd = new Random();
    
       TimeSpan timeSpent = TimeSpan.Zero;
    
       timeSpent += GetTimeBeforeLunch();
       timeSpent += GetTimeAfterLunch();
    
       Console.WriteLine("Total time: {0}", timeSpent);
    
       TimeSpan GetTimeBeforeLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
       
       TimeSpan GetTimeAfterLunch()
       {
          return new TimeSpan(rnd.Next(3, 6), 0, 0);
       }
    
       // The example displays output like the following:
       //        Total time: 08:00:00
    
    Module Example
       Dim rnd As New Random()
       
       Public Sub Main()
          Dim timeSpent As TimeSpan = TimeSpan.Zero
    
          timeSpent += GetTimeBeforeLunch()
          timeSpent += GetTimeAfterLunch()
    
          Console.WriteLine("Total time: {0}", timeSpent)
       End Sub
       
       Private Function GetTimeBeforeLunch() As TimeSpan
          Return New TimeSpan(rnd.Next(3, 6), 0, 0)
       End Function
       
       Private Function GetTimeAfterLunch() As TimeSpan
          Return New TimeSpan(rnd.Next(3, 6), 0, 0)
       End Function
    End Module
    ' The example displays output like the following:
    '       Total time: 08:00:00
    

    TimeSpanWerte werden von arithmetischen Operatoren und Methoden der DateTime- DateTimeOffset,- TimeSpan und-Strukturen zurückgegeben.TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

  • Durch das übernehmen der Zeichen folgen Darstellung TimeSpan eines-Werts.By parsing the string representation of a TimeSpan value. Sie können die- Parse Methode TryParse und die-Methode verwenden, um Zeichen folgen TimeSpan mit Zeitintervallen in-Werte zu konvertieren.You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. Im folgenden Beispiel wird die Parse -Methode verwendet, um ein Array von TimeSpan Zeichen folgen in-Werte zu konvertieren.The following example uses the Parse method to convert an array of strings to TimeSpan values.

    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'  
    
    Dim values() As String = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12"}
    For Each value As String In values
       Try
          Dim ts As TimeSpan = TimeSpan.Parse(value)
          Console.WriteLine("'{0}' --> {1}", value, ts)
       Catch e As FormatException
          Console.WriteLine("Unable to parse '{0}'", value)
       Catch e As OverflowException
          Console.WriteLine("'{0}' is outside the range of a TimeSpan.", value)
       End Try   
    Next
    ' 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'  
    

    Außerdem können Sie das genaue Format der Eingabe Zeichenfolge definieren, die analysiert und in einen TimeSpan Wert konvertiert werden soll, indem Sie die-Methode oder TryParseExact die ParseExact -Methode aufrufen.In addition, you can define the precise format of the input string to be parsed and converted to a TimeSpan value by calling the ParseExact or TryParseExact method.

Ausführen von Vorgängen für TimeSpan-WertePerforming Operations on TimeSpan Values

Sie können Zeit dauern Addition entweder mithilfe der Operatoren und Subtraction oder durch Aufrufen der-Methode und der Add - Subtract Methode addieren und subtrahieren.You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. Sie können auch zwei Zeitspannen vergleichen, indem Sie die CompareMethoden CompareTo, und Equals aufrufen.You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. Die TimeSpan -Struktur enthält auch Duration die Negate -Methode und die-Methode, die Zeitintervalle in positive und negative Werte konvertieren.The TimeSpan structure also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

Der TimeSpan Wertebereich ist MinValue bis MaxValue.The range of TimeSpan values is MinValue to MaxValue.

Formatieren eines TimeSpan-WertsFormatting a TimeSpan Value

Ein TimeSpan Wert kann als [-]ddargestellt werden. HH:mm:SS. FF, bei dem das optionale Minuszeichen ein negatives Zeitintervall angibt, die d- Komponente Tage , hh die Stunden, die auf einem 24-Stunden-Format gemessen werden, mm den Wert Minutes, SS den Wert Sekunden und FF der Bruchteil eines klässler.A TimeSpan value can be represented as [-]d.hh:mm:ss.ff, where the optional minus sign indicates a negative time interval, the d component is days, hh is hours as measured on a 24-hour clock, mm is minutes, ss is seconds, and ff is fractions of a second. Das heißt, ein Zeitintervall besteht aus einer positiven oder negativen Anzahl von Tagen, ohne eine Uhrzeit oder eine Anzahl von Tagen mit einer Tageszeit oder nur eine Uhrzeit.That is, a time interval consists of a positive or negative number of days without a time of day, or a number of days with a time of day, or only a time of day.

Beginnend mit .NET Framework 4.NET Framework 4unterstützt die TimeSpan -Struktur Kultur abhängige Formatierung durch ToString die über Ladungen der-Methode, die einen TimeSpan -Wert in seine Zeichen folgen Darstellung konvertiert.Beginning with the .NET Framework 4.NET Framework 4, the TimeSpan structure supports culture-sensitive formatting through the overloads of its ToString method, which converts a TimeSpan value to its string representation. Die Standard TimeSpan.ToString() Methode gibt ein Zeitintervall mithilfe eines invarianten Formats zurück, das mit dem Rückgabewert in früheren Versionen der .NET Framework identisch ist.The default TimeSpan.ToString() method returns a time interval by using an invariant format that is identical to its return value in previous versions of the .NET Framework. Mit TimeSpan.ToString(String) der-Überladung können Sie eine Format Zeichenfolge angeben, die die Zeichen folgen Darstellung des Zeitintervalls definiert.The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. Mit TimeSpan.ToString(String, IFormatProvider) der-Überladung können Sie eine Format Zeichenfolge und die Kultur angeben, deren Formatierungs Konventionen zum Erstellen der Zeichen folgen Darstellung des Zeitintervalls verwendet werden.The TimeSpan.ToString(String, IFormatProvider) overload lets you specify a format string and the culture whose formatting conventions are used to create the string representation of the time interval. TimeSpanunterstützt standardmäßige und benutzerdefinierte Format Zeichenfolgen.TimeSpan supports both standard and custom format strings. (Weitere Informationen finden Sie unter Standard mäßige TimeSpan-Format Zeichenfolgen und Benutzerdefinierte TimeSpan-FormatZeichenfolgen.) Allerdings sind nur Standardformat Zeichenfolgen Kultur abhängig.(For more information, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.) However, only standard format strings are culture-sensitive.

Wiederherstellen der veralteten TimeSpan-FormatierungRestoring Legacy TimeSpan Formatting

In einigen Fällen tritt beim Code, der TimeSpan die Werte .NET Framework 3,5.NET Framework 3.5 in und früheren Versionen erfolgreich .NET Framework 4.NET Framework 4formatiert, ein Fehler auf.In some cases, code that successfully formats TimeSpan values in .NET Framework 3,5.NET Framework 3.5 and earlier versions fails in .NET Framework 4.NET Framework 4. Dies ist am häufigsten in Code, der eine < TimeSpan_LegacyFormatMode >-Element Methode aufruft, TimeSpan um einen Wert mit einer Format Zeichenfolge zu formatieren.This is most common in code that calls a <TimeSpan_LegacyFormatMode> element method to format a TimeSpan value with a format string. Im folgenden Beispiel wird ein TimeSpan -Wert in .NET Framework 3,5.NET Framework 3.5 und früheren Versionen erfolgreich formatiert, aber in .NET Framework 4.NET Framework 4 und höheren Versionen wird eine Ausnahme ausgelöst.The following example successfully formats a TimeSpan value in .NET Framework 3,5.NET Framework 3.5 and earlier versions, but throws an exception in .NET Framework 4.NET Framework 4 and later versions. Beachten Sie, dass versucht wird, TimeSpan einen Wert mit einem nicht unterstützten Format Bezeichner zu formatieren, .NET Framework 3,5.NET Framework 3.5 der in und früheren Versionen ignoriert wird.Note that it attempts to format a TimeSpan value by using an unsupported format specifier, which is ignored in .NET Framework 3,5.NET Framework 3.5 and earlier versions.

ShowFormattingCode();
// Output from .NET Framework 3.5 and earlier versions:
//       12:30:45
// Output from .NET Framework 4:
//       Invalid Format    

Console.WriteLine("---");

ShowParsingCode();
// Output:
//       000000006 --> 6.00:00:00

void ShowFormattingCode()
{
   TimeSpan interval = new TimeSpan(12, 30, 45);
   string output;
   try {
      output = String.Format("{0:r}", interval);
   }
   catch (FormatException) {
      output = "Invalid Format";
   }
   Console.WriteLine(output);
}

void ShowParsingCode()
{
   string value = "000000006";
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}
Dim interval As New TimeSpan(12, 30, 45)
Dim output As String
Try
   output = String.Format("{0:r}", interval)
Catch e As FormatException
   output = "Invalid Format"
End Try
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 nicht ändern können, können Sie die Legacy Formatierung von TimeSpan Werten auf eine der folgenden Weisen wiederherstellen:If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

  • Durch Erstellen einer Konfigurationsdatei, die das < TimeSpan_LegacyFormatMode >-Elemententhält.By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. Wenn Sie das- enabled Attribut dieses true Elements festlegen TimeSpan , wird die Legacy Formatierung auf Anwendungs Basis wieder hergestellt.Setting this element's enabled attribute to true restores legacy TimeSpan formatting on a per-application basis.

  • Durch Festlegen des "NetFx40_TimeSpanLegacyFormatMode"-Kompatibilitäts Schalters beim Erstellen einer Anwendungsdomäne.By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. Dies ermöglicht die TimeSpan Legacy Formatierung pro Anwendungsdomäne.This enables legacy TimeSpan formatting on a per-application-domain basis. Im folgenden Beispiel wird eine Anwendungsdomäne erstellt, die TimeSpan die Legacy Formatierung verwendet.The following example creates an application domain that uses legacy TimeSpan formatting.

    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");
       }
    }
    
    Module Example
       Public Sub Main()
          Dim appSetup As New AppDomainSetup()
          appSetup.SetCompatibilitySwitches( { "NetFx40_TimeSpanLegacyFormatMode" } )
          Dim legacyDomain As AppDomain = AppDomain.CreateDomain("legacyDomain", 
                                                                 Nothing, appSetup)
          legacyDomain.ExecuteAssembly("ShowTimeSpan.exe")
       End Sub
    End Module
    

    Wenn der folgende Code in der neuen Anwendungsdomäne ausgeführt wird, wird das Legacy TimeSpan Formatierungs Verhalten wieder hergestellt.When the following code executes in the new application domain, it reverts to legacy TimeSpan formatting behavior.

    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.
    
    Module Example
       Public Sub Main()
          Dim interval As TimeSpan = Date.Now - Date.Now.Date
          Dim msg As String = String.Format("Elapsed Time Today: {0:d} hours.",
                                             interval)
          Console.WriteLine(msg)
       End Sub
    End Module
    ' The example displays output like the following:
    '       Elapsed Time Today: 01:40:52.2524662 hours.
    

Konstruktoren

TimeSpan(Int32, Int32, Int32)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Stunden, Minuten und Sekunden.Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Tagen, Stunden, Minuten und Sekunden.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32, Int32)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Tagen, Stunden, Minuten, Sekunden und Millisekunden.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, seconds, and milliseconds.

TimeSpan(Int64)

Initialisiert eine neue Instanz der TimeSpan-Struktur mit der angegebenen Anzahl von Ticks.Initializes a new instance of the TimeSpan structure to the specified number of ticks.

Felder

MaxValue

Stellt den maximalen TimeSpan-Wert dar.Represents the maximum TimeSpan value. Dieses Feld ist schreibgeschützt.This field is read-only.

MinValue

Stellt den minimalen TimeSpan-Wert dar.Represents the minimum TimeSpan value. Dieses Feld ist schreibgeschützt.This field is read-only.

TicksPerDay

Stellt die Anzahl der Ticks pro Tag dar.Represents the number of ticks in 1 day. Dieses Feld ist konstant.This field is constant.

TicksPerHour

Stellt die Anzahl der Ticks pro Stunde dar.Represents the number of ticks in 1 hour. Dieses Feld ist konstant.This field is constant.

TicksPerMillisecond

Stellt die Anzahl der Ticks pro Millisekunde dar.Represents the number of ticks in 1 millisecond. Dieses Feld ist konstant.This field is constant.

TicksPerMinute

Stellt die Anzahl der Ticks pro Minute dar.Represents the number of ticks in 1 minute. Dieses Feld ist konstant.This field is constant.

TicksPerSecond

Stellt die Anzahl der Ticks pro Sekunde dar.Represents the number of ticks in 1 second.

Zero

Stellt den TimeSpan-Wert für 0 (null) dar.Represents the zero TimeSpan value. Dieses Feld ist schreibgeschützt.This field is read-only.

Eigenschaften

Days

Ruft die Tageskomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.Gets the days component of the time interval represented by the current TimeSpan structure.

Hours

Ruft die Stundenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.Gets the hours component of the time interval represented by the current TimeSpan structure.

Milliseconds

Ruft die Millisekundenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.Gets the milliseconds component of the time interval represented by the current TimeSpan structure.

Minutes

Ruft die Minutenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.Gets the minutes component of the time interval represented by the current TimeSpan structure.

Seconds

Ruft die Sekundenkomponente des Zeitintervalls ab, das durch die aktuelle TimeSpan-Struktur dargestellt wird.Gets the seconds component of the time interval represented by the current TimeSpan structure.

Ticks

Ruft die Anzahl der Ticks ab, die den Wert der aktuellen TimeSpan-Struktur darstellt.Gets the number of ticks that represent the value of the current TimeSpan structure.

TotalDays

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Tagen und Bruchteilen von Tagen ab.Gets the value of the current TimeSpan structure expressed in whole and fractional days.

TotalHours

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Stunden und Bruchteilen von Stunden ab.Gets the value of the current TimeSpan structure expressed in whole and fractional hours.

TotalMilliseconds

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Millisekunden und Bruchteilen von Millisekunden ab.Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.

TotalMinutes

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Minuten und Bruchteilen von Minuten ab.Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.

TotalSeconds

Ruft den Wert der aktuellen TimeSpan-Struktur in ganzen Sekunden und Bruchteilen von Sekunden ab.Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.

Methoden

Add(TimeSpan)

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert die Summe aus dem angegebenen TimeSpan-Objekt und dieser Instanz ist.Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance.

Compare(TimeSpan, TimeSpan)

Vergleicht zwei TimeSpan-Werte und gibt eine ganze Zahl 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.Compares two TimeSpan values and returns an integer that indicates whether the first value is shorter than, equal to, or longer than the second value.

CompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine ganze Zahl 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.Compares this instance to a specified object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the specified object.

CompareTo(TimeSpan)

Vergleicht diese Instanz mit einem angegebenen TimeSpan-Objekt und gibt eine ganze Zahl 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.Compares this instance to a specified TimeSpan object and returns an integer that indicates whether this instance is shorter than, equal to, or longer than the TimeSpan object.

Divide(Double)
Divide(TimeSpan)
Duration()

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert den absoluten Wert des aktuellen TimeSpan-Objekts darstellt.Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value indicating whether this instance is equal to a specified object.

Equals(TimeSpan)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen TimeSpan-Objekt ist.Returns a value indicating whether this instance is equal to a specified TimeSpan object.

Equals(TimeSpan, TimeSpan)

Gibt einen Wert zurück, der angibt, ob zwei angegebene Instanzen von TimeSpan gleich sind.Returns a value that indicates whether two specified instances of TimeSpan are equal.

FromDays(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Tagen darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.

FromHours(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Stunden darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

FromMilliseconds(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Millisekunden darstellt.Returns a TimeSpan that represents a specified number of milliseconds.

FromMinutes(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Minuten darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.

FromSeconds(Double)

Gibt eine TimeSpan zurück, die eine angegebene Anzahl von Sekunden darstellt. Die Angabe wird auf die nächste Millisekunde gerundet.Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

FromTicks(Int64)

Gibt eine TimeSpan zurück, die einen angegebenen Zeitraum darstellt. Die Angabe erfolgt in der Einheit Ticks.Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.

GetHashCode()

Gibt einen Hashcode für diese Instanz zurück.Returns a hash code for this instance.

Multiply(Double)
Negate()

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert der negierte Wert dieser Instanz ist.Returns a new TimeSpan object whose value is the negated value of this instance.

Parse(ReadOnlySpan<Char>, IFormatProvider)
Parse(String)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent.

Parse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles)
ParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles)
ParseExact(String, String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Formats und der kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.The format of the string representation must match the specified format exactly.

ParseExact(String, String, IFormatProvider, TimeSpanStyles)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Formats, der kulturspezifischen Formatierungsinformationen und Stile in die entsprechende TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.The format of the string representation must match the specified format exactly.

ParseExact(String, String[], IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung des angegebenen Arrays von Formatierungszeichenfolgen und der kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified array of format strings and culture-specific format information. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.The format of the string representation must match one of the specified formats exactly.

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

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen Formate, der kulturspezifischen Formatierungsinformationen und Stile in die entsprechende TimeSpan.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.The format of the string representation must match one of the specified formats exactly.

Subtract(TimeSpan)

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert die Differenz zwischen dem angegebenen TimeSpan-Objekt und dieser Instanz ist.Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

ToString()

Konvertiert den Wert des aktuellen TimeSpan-Objekts in die entsprechende Zeichenfolgendarstellung.Converts the value of the current TimeSpan object to its equivalent string representation.

ToString(String)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format.

ToString(String, IFormatProvider)

Konvertiert den Wert des aktuellen TimeSpan-Objekts unter Verwendung des angegebenen Formats und der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format and culture-specific formatting information.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)
TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)
TryParse(ReadOnlySpan<Char>, TimeSpan)
TryParse(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.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific formatting information, and returns a value that indicates whether the conversion succeeded.

TryParse(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.Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpan)
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles, TimeSpan)
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpan)
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles, TimeSpan)
TryParseExact(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.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information, and returns a value that indicates whether the conversion succeeded. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.The format of the string representation must match the specified format exactly.

TryParseExact(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.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. Das Format der Zeichenfolgendarstellung muss dem angegebenen Format genau entsprechen.The format of the string representation must match the specified format exactly.

TryParseExact(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.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information, and returns a value that indicates whether the conversion succeeded. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.The format of the string representation must match one of the specified formats exactly.

TryParseExact(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.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. Das Format der Zeichenfolgendarstellung muss einem der angegebenen Formate genau entsprechen.The format of the string representation must match one of the specified formats exactly.

Operatoren

Addition(TimeSpan, TimeSpan)

Addiert zwei angegebene TimeSpan-Instanzen.Adds two specified TimeSpan instances.

Division(TimeSpan, Double)
Division(TimeSpan, TimeSpan)
Equality(TimeSpan, TimeSpan)

Gibt an, ob zwei TimeSpan-Instanzen gleich sind.Indicates whether two TimeSpan instances are equal.

GreaterThan(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan größer als eine andere angegebene TimeSpan ist.Indicates whether a specified TimeSpan is greater than another specified TimeSpan.

GreaterThanOrEqual(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan größer oder gleich einer anderen angegebenen TimeSpan ist.Indicates whether a specified TimeSpan is greater than or equal to another specified TimeSpan.

Inequality(TimeSpan, TimeSpan)

Gibt an, ob zwei TimeSpan-Instanzen ungleich sind.Indicates whether two TimeSpan instances are not equal.

LessThan(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan kleiner als eine andere angegebene TimeSpan ist.Indicates whether a specified TimeSpan is less than another specified TimeSpan.

LessThanOrEqual(TimeSpan, TimeSpan)

Gibt an, ob eine angegebene TimeSpan kleiner oder gleich einer anderen angegebenen TimeSpan ist.Indicates whether a specified TimeSpan is less than or equal to another specified TimeSpan.

Multiply(Double, TimeSpan)
Multiply(TimeSpan, Double)
Subtraction(TimeSpan, TimeSpan)

Subtrahiert eine angegebene TimeSpan von einer anderen angegebenen TimeSpan.Subtracts a specified TimeSpan from another specified TimeSpan.

UnaryNegation(TimeSpan)

Gibt eine TimeSpan zurück, deren Wert der negierte Wert der angegebenen Instanz ist.Returns a TimeSpan whose value is the negated value of the specified instance.

UnaryPlus(TimeSpan)

Gibt die angegebene Instanz von TimeSpan zurück.Returns the specified instance of TimeSpan.

Explizite Schnittstellenimplementierungen

IComparable.CompareTo(Object)

Gilt für:

Siehe auch