TimeSpan Struktura

Definicja

Reprezentuje interwał czasu.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
Dziedziczenie
TimeSpan
Atrybuty
Implementuje

Przykłady

Poniższy przykład tworzy wystąpienie TimeSpan obiektu, który reprezentuje różnicę między dwiema datami.The following example instantiates a TimeSpan object that represents the difference between two dates. Następnie zostaną wyświetlone właściwości obiektu TimeSpan.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
#>

Uwagi

Obiekt TimeSpan reprezentuje przedział czasu (czas trwania lub czas, który upłynął) mierzony jako dodatnią lub ujemną liczbę dni, godziny, minuty, sekundy i ułamki sekundy.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. Struktury TimeSpan można również użyć do reprezentowania pory dnia, ale tylko wtedy, gdy czas nie jest związany z konkretną datą.The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. W przeciwnym razie należy użyć struktury DateTime lub DateTimeOffset.Otherwise, the DateTime or DateTimeOffset structure should be used instead. (Aby uzyskać więcej informacji na temat używania struktury TimeSpan w celu odzwierciedlenia pory dnia, zobacz Wybieranie między datami DateTime, DateTimeOffset, TimeSpan i TimeZoneInfo).(For more information about using the TimeSpan structure to reflect the time of day, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.)

Uwaga

Wartość TimeSpan reprezentuje przedział czasu i może być wyrażona w postaci określonej liczby dni, godzin, minut, sekund i milisekund.A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds. Ponieważ reprezentuje ogólny interwał bez odwołania do określonego początku lub punktu końcowego, nie może być wyrażony w latach i miesiącach, z których oba mają zmienną liczbę dni.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. Różni się od wartości DateTime, która reprezentuje datę i godzinę bez odwołania do określonej strefy czasowej lub wartość DateTimeOffset, która reprezentuje określony czas.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.

Największą jednostką czasu wykorzystywaną przez strukturę TimeSpan do mierzenia czasu trwania jest dzień.The largest unit of time that the TimeSpan structure uses to measure duration is a day. Przedziały czasu są mierzone w dniach w celu zapewnienia spójności, ponieważ liczba dni w większych jednostkach czasu, takich jak miesiące i lata, różni się.Time intervals are measured in days for consistency, because the number of days in larger units of time, such as months and years, varies.

Wartość obiektu TimeSpan jest liczbą taktów równą reprezentowanemu przedziałowi czasu.The value of a TimeSpan object is the number of ticks that equal the represented time interval. Takt jest równy 100 nanosekund lub 1 10-milionowego sekundy.A tick is equal to 100 nanoseconds, or one ten-millionth of a second. Wartość obiektu TimeSpan może być z zakresu od TimeSpan.MinValue do TimeSpan.MaxValue.The value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

Utworzenie wystąpienia wartości TimeSpanInstantiating a TimeSpan Value

Można utworzyć wystąpienie wartości TimeSpan na wiele sposobów:You can instantiate a TimeSpan value in a number of ways:

  • Wywoływanie niejawnego konstruktora bez parametrów.By calling its implicit parameterless constructor. Spowoduje to utworzenie obiektu, którego wartość jest TimeSpan.Zero, jak pokazano w poniższym przykładzie.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".
    
  • Wywołanie jednego z jego jawnych konstruktorów.By calling one of its explicit constructors. Poniższy przykład inicjuje wartość TimeSpan określoną liczbę godzin, minut i sekund.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".
    
  • Przez wywołanie metody lub wykonanie operacji zwracającej wartość TimeSpan.By calling a method or performing an operation that returns a TimeSpan value. Na przykład można utworzyć wystąpienie TimeSpan wartości, która reprezentuje interwał między dwiema wartościami daty i godziny, jak pokazano w poniższym przykładzie.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
    

    W ten sposób można także zainicjować obiekt TimeSpan w taki sposób, jak w poniższym przykładzie.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
    

    wartości TimeSpan są zwracane przez operatory arytmetyczne i metody struktur DateTime, DateTimeOffseti TimeSpan.TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

  • Analizowanie ciągu reprezentującego wartość TimeSpan.By parsing the string representation of a TimeSpan value. Metody Parse i TryParse umożliwiają konwertowanie ciągów zawierających przedziały czasu na wartości TimeSpan.You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. W poniższym przykładzie zastosowano metodę Parse, aby skonwertować tablicę ciągów na TimeSpan wartości.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'  
    

    Ponadto można zdefiniować dokładny format ciągu wejściowego do przeanalizowania i przekonwertowania na wartość TimeSpan, wywołując metodę ParseExact lub TryParseExact.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.

Wykonywanie operacji na wartościach TimeSpanPerforming Operations on TimeSpan Values

Okresy czasowe można dodawać i odejmować przy użyciu operatorów Addition i Subtraction lub wywołując metody Add i Subtract.You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. Możesz również porównać dwa czasy trwania, wywołując metody Compare, CompareToi Equals.You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. Struktura TimeSpan obejmuje również metody Duration i Negate, które konwertują przedziały czasu na wartości dodatnie i ujemne.The TimeSpan structure also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

Zakres wartości TimeSpan jest MinValue do MaxValue.The range of TimeSpan values is MinValue to MaxValue.

Formatowanie wartości TimeSpanFormatting a TimeSpan Value

Wartość TimeSpan może być reprezentowana jako [-]d. hh:mm:SS. FF, gdzie opcjonalny znak minus wskazuje ujemny przedział czasu, składnik d to dni, hh jest godzin mierzona w zegarze 24-godzinnym, mm to minuty, SS jest sekunda, a FF jest częścią sekundy.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. Oznacza to, że przedział czasu składa się z dodatniej lub ujemnej liczby dni bez pory dnia lub liczby dni o godzinie dnia lub tylko raz dziennie.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.

Począwszy od Program .NET Framework 4.NET Framework 4, struktura TimeSpan obsługuje formatowanie wrażliwe na kulturę przez przeciążenia ToString metody, która konwertuje wartość TimeSpan na jej reprezentację w postaci ciągu.Beginning with the Program .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. Domyślna metoda TimeSpan.ToString() Zwraca przedział czasu przy użyciu formatu niezmiennej, który jest identyczny z wartością zwracaną w poprzednich wersjach .NET Framework.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. Przeciążenie TimeSpan.ToString(String) pozwala określić ciąg formatu, który definiuje ciąg reprezentujący przedział czasu.The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. Przeciążenie TimeSpan.ToString(String, IFormatProvider) pozwala określić ciąg formatu i kulturę, której konwencje formatowania są używane do tworzenia reprezentacji ciągu interwału czasu.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. TimeSpan obsługuje zarówno standardowe, jak i niestandardowe ciągi formatujące.TimeSpan supports both standard and custom format strings. (Aby uzyskać więcej informacji, zobacz Standard TimeSpan Format Strings i Custom TimeSpan Format Strings.) Jednak tylko ciągi formatu standardowego są zależne od kultury.(For more information, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.) However, only standard format strings are culture-sensitive.

Przywracanie starszego formatowania TimeSpanRestoring Legacy TimeSpan Formatting

W niektórych przypadkach kod, który pomyślnie sformatuje wartości TimeSpan w Program .NET Framework 3,5.NET Framework 3.5 i wcześniejszych wersjach, kończy się niepowodzeniem w Program .NET Framework 4.NET Framework 4.In some cases, code that successfully formats TimeSpan values in Program .NET Framework 3,5.NET Framework 3.5 and earlier versions fails in Program .NET Framework 4.NET Framework 4. Jest to najbardziej typowe w kodzie, który wywołuje metodę < TimeSpan_LegacyFormatMode > elementu , aby sformatować wartość TimeSpan z ciągiem formatu.This is most common in code that calls a <TimeSpan_LegacyFormatMode> element method to format a TimeSpan value with a format string. Poniższy przykład pomyślnie formatuje wartość TimeSpan w Program .NET Framework 3,5.NET Framework 3.5 i starszych wersjach, ale zgłasza wyjątek w Program .NET Framework 4.NET Framework 4 i nowszych wersjach.The following example successfully formats a TimeSpan value in Program .NET Framework 3,5.NET Framework 3.5 and earlier versions, but throws an exception in Program .NET Framework 4.NET Framework 4 and later versions. Należy pamiętać, że próbuje sformatować wartość TimeSpan za pomocą nieobsługiwanego specyfikatora formatu, który jest ignorowany w Program .NET Framework 3,5.NET Framework 3.5 i wcześniejszych wersjach.Note that it attempts to format a TimeSpan value by using an unsupported format specifier, which is ignored in Program .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

Jeśli nie można zmodyfikować kodu, można przywrócić starsze formatowanie wartości TimeSpan w jeden z następujących sposobów:If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

  • Tworząc plik konfiguracji, który zawiera < TimeSpan_LegacyFormatMode > elementu.By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. Ustawienie atrybutu enabled tego elementu na true przywraca starsze formatowanie TimeSpan dla poszczególnych aplikacji.Setting this element's enabled attribute to true restores legacy TimeSpan formatting on a per-application basis.

  • Ustawiając przełącznik zgodności "NetFx40_TimeSpanLegacyFormatMode" podczas tworzenia domeny aplikacji.By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. Umożliwia to starsze TimeSpan formatowania na poszczególnych domenach aplikacji.This enables legacy TimeSpan formatting on a per-application-domain basis. Poniższy przykład tworzy domenę aplikacji używającą starszego TimeSpan formatowania.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
    

    Gdy Poniższy kod jest wykonywany w nowej domenie aplikacji, przywraca starsze zachowanie TimeSpan formatowania.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.
    

Konstruktory

TimeSpan(Int32, Int32, Int32)

Inicjuje nowe wystąpienie struktury TimeSpan do określonej liczby godzin, minut i sekund.Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, and seconds.

TimeSpan(Int32, Int32, Int32, Int32)

Inicjuje nowe wystąpienie struktury TimeSpan do określonej liczby dni, godzin, minut i sekund.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, and seconds.

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

Inicjuje nowe wystąpienie struktury TimeSpan przez określoną liczbę dni, godzin, minut, sekund i milisekund.Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, seconds, and milliseconds.

TimeSpan(Int64)

Inicjuje nowe wystąpienie struktury TimeSpan do określonej liczby taktów.Initializes a new instance of the TimeSpan structure to the specified number of ticks.

Pola

MaxValue

Reprezentuje maksymalną wartość TimeSpan.Represents the maximum TimeSpan value. To pole jest tylko do odczytu.This field is read-only.

MinValue

Przedstawia minimalną wartość TimeSpan.Represents the minimum TimeSpan value. To pole jest tylko do odczytu.This field is read-only.

TicksPerDay

Przedstawia liczbę taktów w ciągu 1 dnia.Represents the number of ticks in 1 day. To pole jest stałe.This field is constant.

TicksPerHour

Przedstawia liczbę taktów w ciągu 1 godziny.Represents the number of ticks in 1 hour. To pole jest stałe.This field is constant.

TicksPerMillisecond

Przedstawia liczbę taktów w 1 milisekundach.Represents the number of ticks in 1 millisecond. To pole jest stałe.This field is constant.

TicksPerMinute

Przedstawia liczbę taktów w ciągu 1 minuty.Represents the number of ticks in 1 minute. To pole jest stałe.This field is constant.

TicksPerSecond

Przedstawia liczbę taktów z 1 sekundy.Represents the number of ticks in 1 second.

Zero

Reprezentuje wartość zero TimeSpan.Represents the zero TimeSpan value. To pole jest tylko do odczytu.This field is read-only.

Właściwości

Days

Pobiera składnik dni przedziału czasu reprezentowanego przez bieżącą strukturę TimeSpan.Gets the days component of the time interval represented by the current TimeSpan structure.

Hours

Pobiera składnik godziny z przedziału czasowego reprezentowanego przez bieżącą strukturę TimeSpan.Gets the hours component of the time interval represented by the current TimeSpan structure.

Milliseconds

Pobiera składnik milisekund przedziału czasu reprezentowanego przez bieżącą strukturę TimeSpan.Gets the milliseconds component of the time interval represented by the current TimeSpan structure.

Minutes

Pobiera składnik minut interwału czasowego reprezentowanego przez bieżącą strukturę TimeSpan.Gets the minutes component of the time interval represented by the current TimeSpan structure.

Seconds

Pobiera składnik sekund interwału czasu reprezentowanego przez bieżącą strukturę TimeSpan.Gets the seconds component of the time interval represented by the current TimeSpan structure.

Ticks

Pobiera liczbę taktów reprezentujących wartość bieżącej struktury TimeSpan.Gets the number of ticks that represent the value of the current TimeSpan structure.

TotalDays

Pobiera wartość bieżącej struktury TimeSpan wyrażoną w postaci całych i częściowych dni.Gets the value of the current TimeSpan structure expressed in whole and fractional days.

TotalHours

Pobiera wartość bieżącej struktury TimeSpan wyrażoną w postaci całych i częściowych godzin.Gets the value of the current TimeSpan structure expressed in whole and fractional hours.

TotalMilliseconds

Pobiera wartość bieżącej struktury TimeSpan wyrażoną w całości i ułamku milisekund.Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.

TotalMinutes

Pobiera wartość bieżącej struktury TimeSpan wyrażoną w postaci całkowitej i ułamkowej.Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.

TotalSeconds

Pobiera wartość bieżącej struktury TimeSpan wyrażoną w postaci całkowitej i ułamka sekund.Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.

Metody

Add(TimeSpan)

Zwraca nowy obiekt TimeSpan, którego wartość jest sumą określonego obiektu TimeSpan i tego wystąpienia.Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance.

Compare(TimeSpan, TimeSpan)

Porównuje dwie wartości TimeSpan i zwraca liczbę całkowitą, która wskazuje, czy pierwsza wartość jest mniejsza niż, równa lub większa od drugiej wartości.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)

Porównuje to wystąpienie do określonego obiektu i zwraca liczbę całkowitą, która wskazuje, czy to wystąpienie jest krótsze niż określony obiekt, czy też jest równe.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)

Porównuje to wystąpienie do określonego obiektu TimeSpan i zwraca liczbę całkowitą, która wskazuje, czy to wystąpienie jest krótsze niż, równe lub dłuższe niż obiekt TimeSpan.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)

Zwraca nowy obiekt TimeSpan, który jest wartością wyniku dzielenia tego wystąpienia i określonego divisor.Returns a new TimeSpan object which value is the result of division of this instance and the specified divisor.

Divide(TimeSpan)

Zwraca nową wartość Double, która jest wynikiem dzielenia tego wystąpienia i określonego ts.Returns a new Double value which is the result of division of this instance and the specified ts.

Duration()

Zwraca nowy obiekt TimeSpan, którego wartość jest wartością bezwzględną bieżącego obiektu TimeSpan.Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object.

Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.Returns a value indicating whether this instance is equal to a specified object.

Equals(TimeSpan)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi TimeSpan.Returns a value indicating whether this instance is equal to a specified TimeSpan object.

Equals(TimeSpan, TimeSpan)

Zwraca wartość wskazującą, czy dwa określone wystąpienia TimeSpan są równe.Returns a value that indicates whether two specified instances of TimeSpan are equal.

FromDays(Double)

Zwraca TimeSpan, która reprezentuje określoną liczbę dni, w której specyfikacja jest dokładna dokładności do najbliższej milisekundy.Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.

FromHours(Double)

Zwraca TimeSpan, która reprezentuje określoną liczbę godzin, w której specyfikacja jest dokładna dokładności do najbliższej milisekundy.Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

FromMilliseconds(Double)

Zwraca TimeSpan, która reprezentuje określoną liczbę milisekund.Returns a TimeSpan that represents a specified number of milliseconds.

FromMinutes(Double)

Zwraca TimeSpan, która reprezentuje określoną liczbę minut, w której specyfikacja jest dokładna dokładności do najbliższej milisekundy.Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.

FromSeconds(Double)

Zwraca TimeSpan, która reprezentuje określoną liczbę sekund, w której specyfikacja jest dokładna dokładności do najbliższej milisekundy.Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

FromTicks(Int64)

Zwraca TimeSpan reprezentujący określony czas, w którym specyfikacja jest w jednostkach taktów.Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.

GetHashCode()

Zwraca kod skrótu dla tego wystąpienia.Returns a hash code for this instance.

Multiply(Double)

Zwraca nowy obiekt TimeSpan, który jest wartością wyniku mnożenia tego wystąpienia i określonego factor.Returns a new TimeSpan object which value is the result of multiplication of this instance and the specified factor.

Negate()

Zwraca nowy obiekt TimeSpan, którego wartość jest wartością negacji tego wystąpienia.Returns a new TimeSpan object whose value is the negated value of this instance.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Konwertuje reprezentację zakresu interwału czasu do jego TimeSpan równoważnej przy użyciu określonych informacji o formacie specyficznym dla kultury.Converts the span representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

Parse(String)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiedniki.Converts the string representation of a time interval to its TimeSpan equivalent.

Parse(String, IFormatProvider)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonych informacji o formacie specyficznym dla kultury.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)

Konwertuje zakres znaków z przedziału czasowego na jego TimeSpan równoważny przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the char span of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

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

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonych formatów, informacji o formacie specyficznym dla kultury i stylów.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String, IFormatProvider)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

ParseExact(String, String, IFormatProvider, TimeSpanStyles)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonego formatu, informacji o formacie specyficznym dla kultury i stylów.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

ParseExact(String, String[], IFormatProvider)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonej tablicy ciągów formatowania i informacji o formacie specyficznym dla kultury.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. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

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

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonych formatów, informacji o formacie specyficznym dla kultury i stylów.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

Subtract(TimeSpan)

Zwraca nowy obiekt TimeSpan, którego wartością jest różnica między określonym obiektem TimeSpan i tym wystąpieniem.Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

ToString()

Konwertuje wartość bieżącego obiektu TimeSpan na jego równoważną reprezentację w postaci ciągu.Converts the value of the current TimeSpan object to its equivalent string representation.

ToString(String)

Konwertuje wartość bieżącego obiektu TimeSpan na jego równoważną reprezentację w postaci ciągu przy użyciu określonego formatu.Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format.

ToString(String, IFormatProvider)

Konwertuje wartość bieżącego obiektu TimeSpan na jego równoważną reprezentację w postaci ciągu przy użyciu określonego formatu i informacji o formatowaniu specyficznych dla kultury.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)

Próbuje sformatować wartość bieżącego wystąpienia liczby TimeSpan do podanego zakresu znaków.Tries to format the value of the current timespan number instance into the provided span of characters.

TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Konwertuje reprezentację zakresu interwału czasu do jego TimeSpan równoważnej przy użyciu określonych informacji o formatowaniu specyficznych dla kultury i zwraca wartość wskazującą, czy konwersja powiodła się.Converts the span 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(ReadOnlySpan<Char>, TimeSpan)

Konwertuje reprezentację zakresu przedziału czasowego na jego odpowiednik TimeSpan i zwraca wartość wskazującą, czy konwersja powiodła się.Converts the span representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonych informacji o formatowaniu specyficznych dla kultury i zwraca wartość wskazującą, czy konwersja powiodła się.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)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiednik i zwraca wartość wskazującą, czy konwersja powiodła się.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)

Konwertuje określoną reprezentację przedziału czasowego na jego TimeSpan równoważny przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na TimeSpan równoważnej przy użyciu określonego formatu, informacji o formacie specyficznym dla kultury i stylów oraz zwraca wartość wskazującą, czy konwersja powiodła się.Converts the specified span 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. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację przedziału czasowego na jego TimeSpan równoważne przy użyciu określonych formatów i informacji o formacie specyficznym dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

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

Konwertuje określoną reprezentację przedziału czasowego na jego TimeSpan równoważny przy użyciu określonych formatów, informacji o formacie i stylów dla określonych kultur.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

TryParseExact(String, String, IFormatProvider, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan równoważny przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu do jego TimeSpan równoważnej przy użyciu określonego formatu, informacji o formacie i stylów w postaci specyficznej dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

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

Konwertuje określoną reprezentację ciągu przedziału czasu do jego TimeSpan równoważnej przy użyciu określonych formatów i informacji o formacie specyficznym dla kultury.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

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

Konwertuje określoną reprezentację ciągu przedziału czasu do jego TimeSpan równoważnej przy użyciu określonych formatów, informacji o formacie i stylach specyficznych dla kultury.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

Operatory

Addition(TimeSpan, TimeSpan)

Dodaje dwa określone wystąpienia TimeSpan.Adds two specified TimeSpan instances.

Division(TimeSpan, Double)

Zwraca nowy obiekt TimeSpan, który jest wartością wyniku dzielenia wystąpienia timeSpan i określonego divisor.Returns a new TimeSpan object which value is the result of division of timeSpan instance and the specified divisor.

Division(TimeSpan, TimeSpan)

Zwraca nową wartość Double, która jest wynikiem dzielenia wystąpienia t1 i określonego t2.Returns a new Double value which is the result of division of t1 instance and the specified t2.

Equality(TimeSpan, TimeSpan)

Wskazuje, czy dwa wystąpienia TimeSpan są równe.Indicates whether two TimeSpan instances are equal.

GreaterThan(TimeSpan, TimeSpan)

Wskazuje, czy określony TimeSpan jest większy niż inny określony TimeSpan.Indicates whether a specified TimeSpan is greater than another specified TimeSpan.

GreaterThanOrEqual(TimeSpan, TimeSpan)

Wskazuje, czy określony TimeSpan jest większy lub równy innemu określonemu TimeSpan.Indicates whether a specified TimeSpan is greater than or equal to another specified TimeSpan.

Inequality(TimeSpan, TimeSpan)

Wskazuje, czy dwa wystąpienia TimeSpan nie są równe.Indicates whether two TimeSpan instances are not equal.

LessThan(TimeSpan, TimeSpan)

Wskazuje, czy określony TimeSpan jest mniejszy niż inny określony TimeSpan.Indicates whether a specified TimeSpan is less than another specified TimeSpan.

LessThanOrEqual(TimeSpan, TimeSpan)

Wskazuje, czy określony TimeSpan jest mniejszy niż lub równy innemu określonemu TimeSpan.Indicates whether a specified TimeSpan is less than or equal to another specified TimeSpan.

Multiply(Double, TimeSpan)

Zwraca nowy obiekt TimeSpan, którego wartość jest wynikiem mnożenia określonego factor i określonego wystąpienia timeSpan.Returns a new TimeSpan object whose value is the result of multiplying the specified factor and the specified timeSpan instance.

Multiply(TimeSpan, Double)

Zwraca nowy obiekt TimeSpan, którego wartość jest wynikiem mnożenia określonego wystąpienia timeSpan i określonego factor.Returns a new TimeSpan object whose value is the result of multiplying the specified timeSpan instance and the specified factor.

Subtraction(TimeSpan, TimeSpan)

Odejmuje określony TimeSpan od innego określonego TimeSpan.Subtracts a specified TimeSpan from another specified TimeSpan.

UnaryNegation(TimeSpan)

Zwraca TimeSpan którego wartość jest wartością negacji określonego wystąpienia.Returns a TimeSpan whose value is the negated value of the specified instance.

UnaryPlus(TimeSpan)

Zwraca określone wystąpienie TimeSpan.Returns the specified instance of TimeSpan.

Jawne implementacje interfejsu

IComparable.CompareTo(Object)

Porównuje to wystąpienie do określonego obiektu i zwraca liczbę całkowitą, która wskazuje, czy to wystąpienie jest krótsze niż określony obiekt, czy też jest równe.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.

Dotyczy

Zobacz też