TimeSpan TimeSpan TimeSpan TimeSpan Struct

定義

表示時間間隔。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
繼承
屬性
實作

範例

下列範例會具現化TimeSpan物件,表示兩個日期之間的差異。The following example instantiates a TimeSpan object that represents the difference between two dates. 然後它會顯示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);
// 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.
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
#>

備註

ATimeSpan物件都代表測量為正數或負數數天、 時、 分、 秒和小數秒的時間間隔 (持續時間的經過時間或時間)。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. TimeSpan結構也可用來代表一天,但僅限於的時間,如果特定的日期時間無關。The TimeSpan structure can also be used to represent the time of day, but only if the time is unrelated to a particular date. 否則,請DateTimeDateTimeOffset結構應改為使用。Otherwise, the DateTime or DateTimeOffset structure should be used instead. (如需使用詳細資訊TimeSpan結構,以反映當日時間,請參閱 < 選擇 DateTime、 DateTimeOffset、 TimeSpan 和 TimeZoneInfo 之間。)(For more information about using the TimeSpan structure to reflect the time of day, see Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo.)

注意

ATimeSpan值代表時間間隔,以及可以表示為特定數目的天數、 時、 分、 秒及毫秒為單位。A TimeSpan value represents a time interval and can be expressed as a particular number of days, hours, minutes, seconds, and milliseconds. 因為它代表一般的時間間隔,而不會參考特定的開始或結束點時,無法以表示年和月,這兩者都有不同數目的天數。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. 不同於DateTime值,表示日期和時間,而不會為特定時區的參考,或DateTimeOffset值,表示特定的時間點的時間。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.

最大單位時間TimeSpan結構用來測量持續時間是一天。The largest unit of time that the TimeSpan structure uses to measure duration is a day. 時間間隔是以天數衡量回應為求一致,因為較大的時間,例如月和年,單位中的天數數目而有所不同。Time intervals are measured in days for consistency, because the number of days in larger units of time, such as months and years, varies.

TimeSpan物件是否等於表示的時間間隔的刻度數。The value of a TimeSpan object is the number of ticks that equal the represented time interval. 刻度等於 100 奈秒或一個十的第二個。A tick is equal to 100 nanoseconds, or one ten-millionth of a second. TimeSpan物件的範圍可以從TimeSpan.MinValueTimeSpan.MaxValueThe value of a TimeSpan object can range from TimeSpan.MinValue to TimeSpan.MaxValue.

TimeSpan 值具現化Instantiating a TimeSpan Value

您可以具現化TimeSpan數種方式中的值:You can instantiate a TimeSpan value in a number of ways:

  • 藉由呼叫其隱含預設建構函式。By calling its implicit default constructor. 這會建立的物件,其值為TimeSpan.Zero,如下列範例所示。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".
    
  • 藉由呼叫其中一個其明確的建構函式。By calling one of its explicit constructors. 下列範例會初始化TimeSpan值到指定的數字的時數、 分鐘和秒。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".
    
  • 藉由呼叫方法,或執行的作業會傳回TimeSpan值。By calling a method or performing an operation that returns a TimeSpan value. 例如,您可以具現化TimeSpan值,表示兩個日期和時間值,如下列範例所示的間隔。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
    

    您也可以初始化TimeSpan如此一來,如下列範例所示的零時間值的物件。You can also initialize a TimeSpan object to a zero time value in this way, as the following example shows.

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

    TimeSpan 算術運算子和方法的傳回值DateTimeDateTimeOffset,和TimeSpan結構。TimeSpan values are returned by arithmetic operators and methods of the DateTime, DateTimeOffset, and TimeSpan structures.

  • 藉由剖析的字串表示TimeSpan值。By parsing the string representation of a TimeSpan value. 您可以使用ParseTryParse方法,將包含時間間隔的字串轉換TimeSpan值。You can use the Parse and TryParse methods to convert strings that contain time intervals to TimeSpan values. 下列範例會使用Parse方法,將轉換的字串陣列TimeSpan值。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'  
    

    此外,您可以在其中定義精確的剖析和轉換成輸入的字串格式TimeSpan值,藉由呼叫ParseExactTryParseExact方法。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.

TimeSpan 值上執行的作業Performing Operations on TimeSpan Values

您可以加入和減去使用的持續時間AdditionSubtraction運算子,或藉由呼叫AddSubtract方法。You can add and subtract time durations either by using the Addition and Subtraction operators, or by calling the Add and Subtract methods. 您也可以藉由呼叫來比較兩個持續時間CompareCompareTo,和Equals方法。You can also compare two time durations by calling the Compare, CompareTo, and Equals methods. TimeSpan結構也會包含DurationNegate方法,將時間間隔轉換為正數和負數的值,The TimeSpan structure also includes the Duration and Negate methods, which convert time intervals to positive and negative values,

範圍TimeSpan值是MinValueMaxValueThe range of TimeSpan values is MinValue to MaxValue.

格式化時間範圍值Formatting a TimeSpan Value

ATimeSpan值可以表示為 [-]dhh:公釐:ssff,選擇性的負號表示負的時間間隔,其中d元件為天數, hh為 24 小時制,小時mm分鐘, ss時 (秒),以及ff是小數秒。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. 也就是將時間間隔所組成的正數或負數天數不包含的日期時間或數天的日期時間或一天的時間。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.

開頭.NET Framework 4.NET Framework 4,則TimeSpan結構支援區分文化特性格式,透過多載其ToString方法,它會將轉換TimeSpan為其字串表示的值。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. 預設值TimeSpan.ToString()方法會傳回使用等同於它的傳回值,在舊版.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. TimeSpan.ToString(String)多載可讓您指定的格式字串,定義的時間間隔的字串表示。The TimeSpan.ToString(String) overload lets you specify a format string that defines the string representation of the time interval. TimeSpan.ToString(String, IFormatProvider)多載可讓您指定格式字串和文化特性的格式化慣例來建立的時間間隔的字串表示。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 支援兩個標準和自訂格式字串。TimeSpan supports both standard and custom format strings. (如需詳細資訊,請參閱 < 標準 TimeSpan 格式字串自訂 TimeSpan 格式字串。)不過,只有標準格式字串會區分文化特性。(For more information, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.) However, only standard format strings are culture-sensitive.

還原舊版格式的時間範圍Restoring Legacy TimeSpan Formatting

在某些情況下,程式碼中,成功格式TimeSpan中的值.NET Framework 3.5.NET Framework 3.5和舊版中失敗.NET Framework 4.NET Framework 4In 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. 這是在呼叫的程式碼中最常見< TimeSpan_LegacyFormatMode > 項目方法來格式化TimeSpan以格式字串的值。This is most common in code that calls a <TimeSpan_LegacyFormatMode> element method to format a TimeSpan value with a format string. 下列範例已成功格式化TimeSpan中的值.NET Framework 3.5.NET Framework 3.5和更早版本,但在擲回例外狀況.NET Framework 4.NET Framework 4和更新版本。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. 請注意,它會嘗試格式化TimeSpan值使用不支援的格式規範,會忽略.NET Framework 3.5.NET Framework 3.5和更早版本。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.

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

如果您無法修改程式碼,您可以還原的舊版格式TimeSpan中透過下列方式的其中一個值:If you cannot modify the code, you can restore the legacy formatting of TimeSpan values in one of the following ways:

  • 藉由建立組態檔包含< TimeSpan_LegacyFormatMode > 項目By creating a configuration file that contains the <TimeSpan_LegacyFormatMode> element. 設定這個項目的enabled屬性設定為true還原舊版TimeSpan格式化每個應用程式為基礎。Setting this element's enabled attribute to true restores legacy TimeSpan formatting on a per-application basis.

  • 藉由設定 「 NetFx40_TimeSpanLegacyFormatMode 「 相容性時,切換建立應用程式定義域。By setting the "NetFx40_TimeSpanLegacyFormatMode" compatibility switch when you create an application domain. 這可讓舊版TimeSpan格式化每個應用程式定義域為基礎。This enables legacy TimeSpan formatting on a per-application-domain basis. 下列範例會建立應用程式定義域使用舊版TimeSpan格式化。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
    

    當新的應用程式定義域中,執行下列程式碼時,它會還原成舊版TimeSpan格式化行為。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.
    

建構函式

TimeSpan(Int64) TimeSpan(Int64) TimeSpan(Int64) TimeSpan(Int64)

TimeSpan 結構的新執行個體初始化為刻度的指定數目。Initializes a new instance of the TimeSpan structure to the specified number of ticks.

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

TimeSpan 結構的新執行個體初始化為指定的時數、分鐘數和秒數。Initializes a new instance of the TimeSpan structure to a specified number of hours, minutes, and seconds.

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

TimeSpan 結構的新執行個體初始化為指定的天數、時數、分鐘數和秒數。Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, and seconds.

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

TimeSpan 結構的新執行個體初始化為指定的天數、時數、分鐘數、秒數和毫秒數。Initializes a new instance of the TimeSpan structure to a specified number of days, hours, minutes, seconds, and milliseconds.

欄位

MaxValue MaxValue MaxValue MaxValue

代表最大 TimeSpan 值。Represents the maximum TimeSpan value. 此欄位為唯讀。This field is read-only.

MinValue MinValue MinValue MinValue

代表最小 TimeSpan 值。Represents the minimum TimeSpan value. 此欄位為唯讀。This field is read-only.

TicksPerDay TicksPerDay TicksPerDay TicksPerDay

表示 1 天中的刻度數。Represents the number of ticks in 1 day. 這個欄位是常數。This field is constant.

TicksPerHour TicksPerHour TicksPerHour TicksPerHour

表示 1 小時中的刻度數。Represents the number of ticks in 1 hour. 這個欄位是常數。This field is constant.

TicksPerMillisecond TicksPerMillisecond TicksPerMillisecond TicksPerMillisecond

表示 1 毫秒中的刻度數。Represents the number of ticks in 1 millisecond. 這個欄位是常數。This field is constant.

TicksPerMinute TicksPerMinute TicksPerMinute TicksPerMinute

表示 1 分鐘中的刻度數。Represents the number of ticks in 1 minute. 這個欄位是常數。This field is constant.

TicksPerSecond TicksPerSecond TicksPerSecond TicksPerSecond

表示 1 秒中的刻度數。Represents the number of ticks in 1 second.

Zero Zero Zero Zero

代表零 TimeSpan 值。Represents the zero TimeSpan value. 此欄位為唯讀。This field is read-only.

屬性

Days Days Days Days

取得目前 TimeSpan 結構所表示之時間間隔的天數元件。Gets the days component of the time interval represented by the current TimeSpan structure.

Hours Hours Hours Hours

取得目前 TimeSpan 結構所表示之時間間隔的時數元件。Gets the hours component of the time interval represented by the current TimeSpan structure.

Milliseconds Milliseconds Milliseconds Milliseconds

取得目前 TimeSpan 結構所表示之時間間隔的毫秒數元件。Gets the milliseconds component of the time interval represented by the current TimeSpan structure.

Minutes Minutes Minutes Minutes

取得目前 TimeSpan 結構所表示之時間間隔的分鐘數元件。Gets the minutes component of the time interval represented by the current TimeSpan structure.

Seconds Seconds Seconds Seconds

取得目前 TimeSpan 結構所表示之時間間隔的秒數元件。Gets the seconds component of the time interval represented by the current TimeSpan structure.

Ticks Ticks Ticks Ticks

取得刻度數,表示目前 TimeSpan 結構的值。Gets the number of ticks that represent the value of the current TimeSpan structure.

TotalDays TotalDays TotalDays TotalDays

取得目前 TimeSpan 結構的值,這個值以整數和小數的天數表示。Gets the value of the current TimeSpan structure expressed in whole and fractional days.

TotalHours TotalHours TotalHours TotalHours

取得目前 TimeSpan 結構的值,這個值以整數和小數的時數表示。Gets the value of the current TimeSpan structure expressed in whole and fractional hours.

TotalMilliseconds TotalMilliseconds TotalMilliseconds TotalMilliseconds

取得目前 TimeSpan 結構的值,這個值以整數和小數的毫秒數表示。Gets the value of the current TimeSpan structure expressed in whole and fractional milliseconds.

TotalMinutes TotalMinutes TotalMinutes TotalMinutes

取得目前 TimeSpan 結構的值,這個值以整數和小數的分鐘數表示。Gets the value of the current TimeSpan structure expressed in whole and fractional minutes.

TotalSeconds TotalSeconds TotalSeconds TotalSeconds

取得目前 TimeSpan 結構的值,這個值以整數和小數的秒數表示。Gets the value of the current TimeSpan structure expressed in whole and fractional seconds.

方法

Add(TimeSpan) Add(TimeSpan) Add(TimeSpan) Add(TimeSpan)

傳回新的 TimeSpan 物件,它的值為指定之 TimeSpan 物件與這個執行個體的總和。Returns a new TimeSpan object whose value is the sum of the specified TimeSpan object and this instance.

Compare(TimeSpan, TimeSpan) Compare(TimeSpan, TimeSpan) Compare(TimeSpan, TimeSpan) Compare(TimeSpan, TimeSpan)

比較兩個 TimeSpan 值並傳回整數,這個整數會指出第一個值比第二個值短、等長或較長。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) CompareTo(Object) CompareTo(Object) CompareTo(Object)

比較這個執行個體和指定的物件,並傳回一個整數,表示這個執行個體短於、等於或長於指定的物件。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) CompareTo(TimeSpan) CompareTo(TimeSpan) CompareTo(TimeSpan)

比較這個執行個體和指定的 TimeSpan 物件,並傳回一個整數,表示這個執行個體短於、等於或長於 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(TimeSpan) Divide(TimeSpan) Divide(TimeSpan) Divide(TimeSpan)
Divide(Double) Divide(Double) Divide(Double) Divide(Double)
Duration() Duration() Duration() Duration()

傳回新的 TimeSpan 物件,其值為目前 TimeSpan 物件的絕對值。Returns a new TimeSpan object whose value is the absolute value of the current TimeSpan object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

傳回值,指出這個執行個體 (Instance) 是否和指定的物件相等。Returns a value indicating whether this instance is equal to a specified object.

Equals(TimeSpan) Equals(TimeSpan) Equals(TimeSpan) Equals(TimeSpan)

傳回表示這個執行個體是否等於指定 TimeSpan 物件的值。Returns a value indicating whether this instance is equal to a specified TimeSpan object.

Equals(TimeSpan, TimeSpan) Equals(TimeSpan, TimeSpan) Equals(TimeSpan, TimeSpan) Equals(TimeSpan, TimeSpan)

傳回值,這個值表示兩個指定的 TimeSpan 執行個體是否相等。Returns a value that indicates whether two specified instances of TimeSpan are equal.

FromDays(Double) FromDays(Double) FromDays(Double) FromDays(Double)

傳回表示指定天數的 TimeSpan,其規格的精確度達到最接近的毫秒數。Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.

FromHours(Double) FromHours(Double) FromHours(Double) FromHours(Double)

傳回表示指定時數的 TimeSpan,其規格的精確度達到最接近的毫秒數。Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.

FromMilliseconds(Double) FromMilliseconds(Double) FromMilliseconds(Double) FromMilliseconds(Double)

傳回表示指定毫秒數的 TimeSpanReturns a TimeSpan that represents a specified number of milliseconds.

FromMinutes(Double) FromMinutes(Double) FromMinutes(Double) FromMinutes(Double)

傳回表示指定分鐘數的 TimeSpan,其規格的精確度達到最接近的毫秒數。Returns a TimeSpan that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.

FromSeconds(Double) FromSeconds(Double) FromSeconds(Double) FromSeconds(Double)

傳回表示指定秒數的 TimeSpan,其規格的精確度達到最接近的毫秒數。Returns a TimeSpan that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.

FromTicks(Int64) FromTicks(Int64) FromTicks(Int64) FromTicks(Int64)

傳回表示指定時間的 TimeSpan,其規格是以刻度為單位。Returns a TimeSpan that represents a specified time, where the specification is in units of ticks.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

傳回這個執行個體的雜湊碼。Returns a hash code for this instance.

Multiply(Double) Multiply(Double) Multiply(Double) Multiply(Double)
Negate() Negate() Negate() Negate()

傳回新 TimeSpan 物件,其值是這個執行個體的相反值。Returns a new TimeSpan object whose value is the negated value of this instance.

Parse(String) Parse(String) Parse(String) Parse(String)

將時間間隔的字串表示,轉換成與其相等的 TimeSpanConverts the string representation of a time interval to its TimeSpan equivalent.

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

使用指定的特定文化特性格式資訊,將時間間隔的字串表示轉換為其相等的 TimeSpanConverts the string representation of a time interval to its TimeSpan equivalent by using the specified culture-specific format information.

ParseExact(String, String, IFormatProvider, TimeSpanStyles) ParseExact(String, String, IFormatProvider, TimeSpanStyles) ParseExact(String, String, IFormatProvider, TimeSpanStyles) ParseExact(String, String, IFormatProvider, TimeSpanStyles)

使用指定之格式、特定文件特性格式資訊和樣式,將時間間隔的字串表示轉換為其相等的 TimeSpanConverts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles. 字串表示的格式必須完全符合指定的格式。The format of the string representation must match the specified format exactly.

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

使用指定之格式、特定文件特性格式資訊和樣式,將時間間隔的字串表示轉換為其相等的 TimeSpanConverts the string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information, and styles. 字串表示的格式必須完全符合其中一個指定的格式。The format of the string representation must match one of the specified formats exactly.

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

使用指定之格式字串的陣列和特定文件特性格式資訊,將時間間隔的字串表示轉換為其相等的 TimeSpanConverts the string representation of a time interval to its TimeSpan equivalent by using the specified array of format strings and culture-specific format information. 字串表示的格式必須完全符合其中一個指定的格式。The format of the string representation must match one of the specified formats exactly.

ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider) ParseExact(String, String, IFormatProvider)

使用指定之格式和特定文化特性格式資訊,將時間間隔的字串表示轉換為其相等的 TimeSpanConverts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. 字串表示的格式必須完全符合指定的格式。The format of the string representation must match the specified format exactly.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles) ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles)
Subtract(TimeSpan) Subtract(TimeSpan) Subtract(TimeSpan) Subtract(TimeSpan)

傳回新的 TimeSpan 物件,它的值為指定之 TimeSpan 物件與這個執行個體的差。Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider) ToString(String, IFormatProvider)

使用指定的格式和特定文件特性格式資訊,將目前 TimeSpan 物件的值,轉換為其相等的字串表示。Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format and culture-specific formatting information.

ToString(String) ToString(String) ToString(String) ToString(String)

使用指定的格式,將目前 TimeSpan 物件的值,轉換為其相等字串表示。Converts the value of the current TimeSpan object to its equivalent string representation by using the specified format.

ToString() ToString() ToString() ToString()

將目前 TimeSpan 物件的值,轉換為其相等的字串表示。Converts the value of the current TimeSpan object to its equivalent string representation.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)
TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan) TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan) TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan) TryParse(ReadOnlySpan<Char>, IFormatProvider, TimeSpan)
TryParse(ReadOnlySpan<Char>, TimeSpan) TryParse(ReadOnlySpan<Char>, TimeSpan) TryParse(ReadOnlySpan<Char>, TimeSpan) TryParse(ReadOnlySpan<Char>, TimeSpan)
TryParse(String, TimeSpan) TryParse(String, TimeSpan) TryParse(String, TimeSpan) TryParse(String, TimeSpan)

將時間間隔的字串表示,轉換為其相等的 TimeSpan,並傳回一個值表示轉換是否成功。Converts the string representation of a time interval to its TimeSpan equivalent and returns a value that indicates whether the conversion succeeded.

TryParse(String, IFormatProvider, TimeSpan) TryParse(String, IFormatProvider, TimeSpan) TryParse(String, IFormatProvider, TimeSpan) TryParse(String, IFormatProvider, TimeSpan)

使用指定的特定文件特性格式資訊,將時間間隔的字串表示轉換為其相等的 TimeSpan,並傳回表示轉換是否成功的值。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.

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

使用指定的格式、特定文件特性格式資訊和樣式,將時間間隔的字串表示轉換為其相等的 TimeSpan,並傳回表示轉換是否成功的值。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. 字串表示的格式必須完全符合指定的格式。The format of the string representation must match the specified format exactly.

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

使用指定的格式和特定文件特性格式資訊,將指定的時間間隔字串表示轉換為其相等的 TimeSpan,並傳回表示轉換是否成功的值。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. 字串表示的格式必須完全符合其中一個指定的格式。The format of the string representation must match one of the specified formats exactly.

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

使用指定的格式、特定文件特性格式資訊和樣式,將指定的時間間隔字串表示轉換為其相等的 TimeSpan,並傳回表示轉換是否成功的值。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. 字串表示的格式必須完全符合其中一個指定的格式。The format of the string representation must match one of the specified formats exactly.

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

使用指定的格式和特定文件特性格式資訊,將時間間隔的字串表示轉換為其相等的 TimeSpan,並傳回表示轉換是否成功的值。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. 字串表示的格式必須完全符合指定的格式。The format of the string representation must match the specified format exactly.

運算子

Addition(TimeSpan, TimeSpan) Addition(TimeSpan, TimeSpan) Addition(TimeSpan, TimeSpan) Addition(TimeSpan, TimeSpan)

加入兩個指定的 TimeSpan 執行個體。Adds two specified TimeSpan instances.

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

表示兩個 TimeSpan 執行個體是否相等。Indicates whether two TimeSpan instances are equal.

GreaterThan(TimeSpan, TimeSpan) GreaterThan(TimeSpan, TimeSpan) GreaterThan(TimeSpan, TimeSpan) GreaterThan(TimeSpan, TimeSpan)

表示指定的 TimeSpan 是否大於另一個指定的 TimeSpanIndicates whether a specified TimeSpan is greater than another specified TimeSpan.

GreaterThanOrEqual(TimeSpan, TimeSpan) GreaterThanOrEqual(TimeSpan, TimeSpan) GreaterThanOrEqual(TimeSpan, TimeSpan) GreaterThanOrEqual(TimeSpan, TimeSpan)

表示指定的 TimeSpan 是否大於或等於另一個指定的 TimeSpanIndicates whether a specified TimeSpan is greater than or equal to another specified TimeSpan.

Inequality(TimeSpan, TimeSpan) Inequality(TimeSpan, TimeSpan) Inequality(TimeSpan, TimeSpan) Inequality(TimeSpan, TimeSpan)

表示兩個 TimeSpan 執行個體是否不相等。Indicates whether two TimeSpan instances are not equal.

LessThan(TimeSpan, TimeSpan) LessThan(TimeSpan, TimeSpan) LessThan(TimeSpan, TimeSpan) LessThan(TimeSpan, TimeSpan)

表示指定的 TimeSpan 是否小於另一個指定的 TimeSpanIndicates whether a specified TimeSpan is less than another specified TimeSpan.

LessThanOrEqual(TimeSpan, TimeSpan) LessThanOrEqual(TimeSpan, TimeSpan) LessThanOrEqual(TimeSpan, TimeSpan) LessThanOrEqual(TimeSpan, TimeSpan)

表示指定的 TimeSpan 是否小於或等於另一個指定的 TimeSpanIndicates whether a specified TimeSpan is less than or equal to another specified TimeSpan.

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

將指定的 TimeSpan 從另一個指定的 TimeSpan 減掉。Subtracts a specified TimeSpan from another specified TimeSpan.

UnaryNegation(TimeSpan) UnaryNegation(TimeSpan) UnaryNegation(TimeSpan) UnaryNegation(TimeSpan)

傳回 TimeSpan,其值是指定執行個體的相反值。Returns a TimeSpan whose value is the negated value of the specified instance.

UnaryPlus(TimeSpan) UnaryPlus(TimeSpan) UnaryPlus(TimeSpan) UnaryPlus(TimeSpan)

傳回 TimeSpan 的指定執行個體。Returns the specified instance of TimeSpan.

明確介面實作

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)

適用於

另請參閱