按一下以給予評分及指教
MSDN
MSDN Library
.NET 開發
.NET Framework
TimeSpan 結構
全部折疊/全部展開 全部折疊
本頁僅適用於
Microsoft Visual Studio 2008/.NET Framework 3.5

其他版本也適用於下列軟體:
.NET Framework 類別庫
TimeSpan 結構

更新:2007 年 11 月

表示時間間隔。

命名空間:  System
組件:  mscorlib (在 mscorlib.dll 中)
Visual Basic (宣告)
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure TimeSpan _
    Implements IComparable, IComparable(Of TimeSpan),  _
    IEquatable(Of TimeSpan)
Visual Basic (使用方式)
Dim instance As TimeSpan
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
    IEquatable<TimeSpan>
Visual C++
[SerializableAttribute]
[ComVisibleAttribute(true)]
public value class TimeSpan : IComparable, 
    IComparable<TimeSpan>, IEquatable<TimeSpan>
J#
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
public final class TimeSpan extends ValueType implements IComparable, 
    IComparable<TimeSpan>, IEquatable<TimeSpan>
JScript
JScript 支援使用結構,但不支援新結構的宣告。

TimeSpan 物件表示測量的時間間隔或期間,可為正或負的天數、時數、分鐘數、秒數和秒數的分數。用來測量期間的最大時間單位是「天」。為保持一致性,會以「天」為單位測量時間間隔,因為更大時間單位 (例如月和年) 的天數會不同。

TimeSpan 物件值是刻度數,等於所表示的時間間隔。一個刻度等於 100 奈秒 (十億分之一秒),TimeSpan 物件值的範圍則從 MinValueMaxValue

TimeSpan 值可以表示為 [-]d.hh:mm:ss.ff,在此可以選擇負號,表示負數時間間隔,其 d 項目是天數、hh 是 24 小時制的時數、mm 代表分數,ss 代表秒數,而 ff 是秒數的分數。也就是說,時間間隔是由不含每日時數的正或負天數所組成、由含每日時數的天數所組成,或僅由每日時數所組成。例如,初始化為 1.0e+13 刻度的 TimeSpan 物件之文字表示為 "11.13:46:40",也就是 11 天、13 小時、46 分又 40 秒。

TimeSpan 型別實作 System..::.IComparableSystem..::.IComparable<(Of <(T>)>) 介面。

下列程式碼範例會建立多個 TimeSpan 物件,並顯示每個屬性。

Visual Basic
' Example of the TimeSpan class properties.
Imports System
Imports Microsoft.VisualBasic

Module TimeSpanPropertiesDemo

    Const headerFmt As String = vbCrLf & "{0,-45}"
    Const dataFmt As String = "{0,-12}{1,8}       {2,-18}{3,21}"

    ' Display the properties of the TimeSpan parameter.
    Sub ShowTimeSpanProperties( interval as TimeSpan )

        Console.WriteLine( "{0,21}", interval )
        Console.WriteLine( dataFmt, _
            "Days", interval.Days, "TotalDays", interval.TotalDays )
        Console.WriteLine( dataFmt, "Hours", interval.Hours, _
            "TotalHours", interval.TotalHours )
        Console.WriteLine( dataFmt, "Minutes", interval.Minutes, _
            "TotalMinutes", interval.TotalMinutes )
        Console.WriteLine( dataFmt, "Seconds", interval.Seconds, _
            "TotalSeconds", interval.TotalSeconds )
        Console.WriteLine( dataFmt, _
            "Milliseconds", interval.Milliseconds, _
            "TotalMilliseconds", interval.TotalMilliseconds )
        Console.WriteLine( dataFmt, _
            Nothing, Nothing, "Ticks", interval.Ticks )
    End Sub 

    Sub Main( )
        Console.WriteLine( _
            "This example of the TimeSpan class properties " & _
            "generates the " & vbCrLf & "following output. It " & _
            "creates several TimeSpan objects and " & vbCrLf & _
            "displays the values of the TimeSpan properties for " & _
            "each."  )

        ' Create and display a TimeSpan value of 1 tick.
        Console.Write( headerFmt, "TimeSpan( 1 )" )
        ShowTimeSpanProperties( new TimeSpan( 1 ) )

        ' Create a TimeSpan value with a large number of ticks.
        Console.Write( headerFmt, "TimeSpan( 111222333444555 )" )
        ShowTimeSpanProperties( new TimeSpan( 111222333444555 ) )

        ' This TimeSpan has all fields specified.
        Console.Write( headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )" )
        ShowTimeSpanProperties( new TimeSpan( 10, 20, 30, 40, 50 ) )

        ' This TimeSpan has all fields overflowing.
        Console.Write( headerFmt, _
            "TimeSpan( 1111, 2222, 3333, 4444, 5555 )" )
        ShowTimeSpanProperties( _
            new TimeSpan( 1111, 2222, 3333, 4444, 5555 ) )

        ' This TimeSpan is based on a number of days.
        Console.Write( headerFmt, "FromDays( 20.84745602 )" )
        ShowTimeSpanProperties( TimeSpan.FromDays( 20.84745602 ) )
    End Sub 
End Module 

' This example of the TimeSpan class properties generates the
' following output. It creates several TimeSpan objects and
' displays the values of the TimeSpan properties for each.
' 
' TimeSpan( 1 )                                     00:00:00.0000001
' Days               0       TotalDays          1.15740740740741E-12
' Hours              0       TotalHours         2.77777777777778E-11
' Minutes            0       TotalMinutes       1.66666666666667E-09
' Seconds            0       TotalSeconds                      1E-07
' Milliseconds       0       TotalMilliseconds                0.0001
'                            Ticks                                 1
' 
' TimeSpan( 111222333444555 )                   128.17:30:33.3444555
' Days             128       TotalDays              128.729552597865
' Hours             17       TotalHours             3089.50926234875
' Minutes           30       TotalMinutes           185370.555740925
' Seconds           33       TotalSeconds           11122233.3444555
' Milliseconds     344       TotalMilliseconds      11122233344.4555
'                            Ticks                   111222333444555
' 
' TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
' Days              10       TotalDays              10.8546302083333
' Hours             20       TotalHours                   260.511125
' Minutes           30       TotalMinutes                 15630.6675
' Seconds           40       TotalSeconds                  937840.05
' Milliseconds      50       TotalMilliseconds             937840050
'                            Ticks                     9378400500000
' 
' TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
' Days            1205       TotalDays              1205.94941614583
' Hours             22       TotalHours                28942.7859875
' Minutes           47       TotalMinutes              1736567.15925
' Seconds            9       TotalSeconds              104194029.555
' Milliseconds     555       TotalMilliseconds          104194029555
'                            Ticks                  1041940295550000
' 
' FromDays( 20.84745602 )                        20.20:20:20.2000000
' Days              20       TotalDays              20.8474560185185
' Hours             20       TotalHours             500.338944444444
' Minutes           20       TotalMinutes           30020.3366666667
' Seconds           20       TotalSeconds                  1801220.2
' Milliseconds     200       TotalMilliseconds            1801220200
'                            Ticks                    18012202000000
C#
// Example of the TimeSpan class properties.
using System;

class TimeSpanPropertiesDemo
{
    const string headerFmt = "\n{0,-45}";
    const string dataFmt = "{0,-12}{1,8}       {2,-18}{3,21}" ;

    // Display the properties of the TimeSpan parameter.
    static void ShowTimeSpanProperties( TimeSpan interval )
    {
        Console.WriteLine( "{0,21}", interval );
        Console.WriteLine( dataFmt, "Days", interval.Days, 
            "TotalDays", interval.TotalDays );
        Console.WriteLine( dataFmt, "Hours", interval.Hours, 
            "TotalHours", interval.TotalHours );
        Console.WriteLine( dataFmt, "Minutes", interval.Minutes, 
            "TotalMinutes", interval.TotalMinutes );
        Console.WriteLine( dataFmt, "Seconds", interval.Seconds, 
            "TotalSeconds", interval.TotalSeconds );
        Console.WriteLine( dataFmt, "Milliseconds", 
            interval.Milliseconds, "TotalMilliseconds", 
            interval.TotalMilliseconds );
        Console.WriteLine( dataFmt, null, null, 
            "Ticks", interval.Ticks );
    } 

    static void Main( )
    {
        Console.WriteLine(
            "This example of the TimeSpan class properties " +
            "generates the \nfollowing output. It " +
            "creates several TimeSpan objects and \ndisplays " +
            "the values of the TimeSpan properties for each." );

        // Create and display a TimeSpan value of 1 tick.
        Console.Write( headerFmt, "TimeSpan( 1 )" );
        ShowTimeSpanProperties( new TimeSpan( 1 ) );

        // Create a TimeSpan value with a large number of ticks.
        Console.Write( headerFmt, "TimeSpan( 111222333444555 )" );
        ShowTimeSpanProperties( new TimeSpan( 111222333444555 ) );

        // This TimeSpan has all fields specified.
        Console.Write( headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )" );
        ShowTimeSpanProperties( new TimeSpan( 10, 20, 30, 40, 50 ) );

        // This TimeSpan has all fields overflowing.
        Console.Write( headerFmt, 
            "TimeSpan( 1111, 2222, 3333, 4444, 5555 )" );
        ShowTimeSpanProperties(
            new TimeSpan( 1111, 2222, 3333, 4444, 5555 ) );

        // This TimeSpan is based on a number of days.
        Console.Write( headerFmt, "FromDays( 20.84745602 )" );
        ShowTimeSpanProperties( TimeSpan.FromDays( 20.84745602 ) );
    } 
} 

/*
This example of the TimeSpan class properties generates the
following output. It creates several TimeSpan objects and
displays the values of the TimeSpan properties for each.

TimeSpan( 1 )                                     00:00:00.0000001
Days               0       TotalDays          1.15740740740741E-12
Hours              0       TotalHours         2.77777777777778E-11
Minutes            0       TotalMinutes       1.66666666666667E-09
Seconds            0       TotalSeconds                      1E-07
Milliseconds       0       TotalMilliseconds                0.0001
                           Ticks                                 1

TimeSpan( 111222333444555 )                   128.17:30:33.3444555
Days             128       TotalDays              128.729552597865
Hours             17       TotalHours             3089.50926234875
Minutes           30       TotalMinutes           185370.555740925
Seconds           33       TotalSeconds           11122233.3444555
Milliseconds     344       TotalMilliseconds      11122233344.4555
                           Ticks                   111222333444555

TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
Days              10       TotalDays              10.8546302083333
Hours             20       TotalHours                   260.511125
Minutes           30       TotalMinutes                 15630.6675
Seconds           40       TotalSeconds                  937840.05
Milliseconds      50       TotalMilliseconds             937840050
                           Ticks                     9378400500000

TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
Days            1205       TotalDays              1205.94941614583
Hours             22       TotalHours                28942.7859875
Minutes           47       TotalMinutes              1736567.15925
Seconds            9       TotalSeconds              104194029.555
Milliseconds     555       TotalMilliseconds          104194029555
                           Ticks                  1041940295550000

FromDays( 20.84745602 )                        20.20:20:20.2000000
Days              20       TotalDays              20.8474560185185
Hours             20       TotalHours             500.338944444444
Minutes           20       TotalMinutes           30020.3366666667
Seconds           20       TotalSeconds                  1801220.2
Milliseconds     200       TotalMilliseconds            1801220200
                           Ticks                    18012202000000
*/                           
Visual C++
// Example of the TimeSpan class properties.
using namespace System;

// Display the properties of the TimeSpan parameter.
static void ShowTimeSpanProperties( TimeSpan interval )
{
   Object^ null = nullptr;
   String^ dataFmt = "{0,-12}{1,8}       {2,-18}{3,21}";
   Console::WriteLine( "{0,21}", interval );
   Console::WriteLine( dataFmt, "Days", interval.Days, "TotalDays", interval.TotalDays );
   Console::WriteLine( dataFmt, "Hours", interval.Hours, "TotalHours", interval.TotalHours );
   Console::WriteLine( dataFmt, "Minutes", interval.Minutes, "TotalMinutes", interval.TotalMinutes );
   Console::WriteLine( dataFmt, "Seconds", interval.Seconds, "TotalSeconds", interval.TotalSeconds );
   Console::WriteLine( dataFmt, "Milliseconds", interval.Milliseconds, "TotalMilliseconds", interval.TotalMilliseconds );
   Console::WriteLine( dataFmt, null, null, "Ticks", interval.Ticks );
}

int main()
{
   String^ headerFmt = "\n{0,-45}";
   Console::WriteLine( "This example of the TimeSpan class properties "
   "generates the \nfollowing output. It "
   "creates several TimeSpan objects and \ndisplays "
   "the values of the TimeSpan properties for each." );

   // Create and display a TimeSpan value of 1 tick.
   Console::Write( headerFmt, "TimeSpan( 1 )" );
   ShowTimeSpanProperties( TimeSpan(1) );

   // Create a TimeSpan value with a large number of ticks.
   Console::Write( headerFmt, "TimeSpan( 111222333444555 )" );
   ShowTimeSpanProperties( TimeSpan(111222333444555) );

   // This TimeSpan has all fields specified.
   Console::Write( headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )" );
   ShowTimeSpanProperties( TimeSpan(10,20,30,40,50) );

   // This TimeSpan has all fields overflowing.
   Console::Write( headerFmt, "TimeSpan( 1111, 2222, 3333, 4444, 5555 )" );
   ShowTimeSpanProperties( TimeSpan(1111,2222,3333,4444,5555) );

   // This TimeSpan is based on a number of days.
   Console::Write( headerFmt, "FromDays( 20.84745602 )" );
   ShowTimeSpanProperties( TimeSpan::FromDays( 20.84745602 ) );
}

/*
This example of the TimeSpan class properties generates the
following output. It creates several TimeSpan objects and
displays the values of the TimeSpan properties for each.

TimeSpan( 1 )                                     00:00:00.0000001
Days               0       TotalDays          1.15740740740741E-12
Hours              0       TotalHours         2.77777777777778E-11
Minutes            0       TotalMinutes       1.66666666666667E-09
Seconds            0       TotalSeconds                      1E-07
Milliseconds       0       TotalMilliseconds                0.0001
                           Ticks                                 1

TimeSpan( 111222333444555 )                   128.17:30:33.3444555
Days             128       TotalDays              128.729552597865
Hours             17       TotalHours             3089.50926234875
Minutes           30       TotalMinutes           185370.555740925
Seconds           33       TotalSeconds           11122233.3444555
Milliseconds     344       TotalMilliseconds      11122233344.4555
                           Ticks                   111222333444555

TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
Days              10       TotalDays              10.8546302083333
Hours             20       TotalHours                   260.511125
Minutes           30       TotalMinutes                 15630.6675
Seconds           40       TotalSeconds                  937840.05
Milliseconds      50       TotalMilliseconds             937840050
                           Ticks                     9378400500000

TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
Days            1205       TotalDays              1205.94941614583
Hours             22       TotalHours                28942.7859875
Minutes           47       TotalMinutes              1736567.15925
Seconds            9       TotalSeconds              104194029.555
Milliseconds     555       TotalMilliseconds          104194029555
                           Ticks                  1041940295550000

FromDays( 20.84745602 )                        20.20:20:20.2000000
Days              20       TotalDays              20.8474560185185
Hours             20       TotalHours             500.338944444444
Minutes           20       TotalMinutes           30020.3366666667
Seconds           20       TotalSeconds                  1801220.2
Milliseconds     200       TotalMilliseconds            1801220200
                           Ticks                    18012202000000
*/
J#
// Example of the TimeSpan class properties.
import System.*;

class TimeSpanPropertiesDemo
{
    private static String headerFmt = "\n{0,-45}";
    private static String dataFmt = "{0,-12}{1,8}       {2,-18}{3,21}";

    // Display the properties of the TimeSpan parameter.
    static void ShowTimeSpanProperties(TimeSpan interval)
    {
        Console.WriteLine("{0,21}", interval);
        Console.WriteLine(dataFmt, new Object[] { "Days",
            String.valueOf(interval.get_Days()), "TotalDays",
            String.valueOf(interval.get_TotalDays()) });
        Console.WriteLine(dataFmt, new Object[] { "Hours", 
            String.valueOf(interval.get_Hours()), "TotalHours",
            String.valueOf(interval.get_TotalHours()) });
        Console.WriteLine(dataFmt, new Object[] { "Minutes",
            String.valueOf(interval.get_Minutes()), "TotalMinutes",
            String.valueOf(interval.get_TotalMinutes()) });
        Console.WriteLine(dataFmt, new Object[] { "Seconds",
            String.valueOf(interval.get_Seconds()), "TotalSeconds",
            (System.Double)interval.get_TotalSeconds() });
        Console.WriteLine(dataFmt, new Object[] { "Milliseconds", 
            String.valueOf(interval.get_Milliseconds()), "TotalMilliseconds",
            (System.Double)interval.get_TotalMilliseconds() });
        Console.WriteLine(dataFmt, new Object[] { null, null, "Ticks", 
            String.valueOf(interval.get_Ticks()) });
    } //ShowTimeSpanProperties

    public static void main(String[] args)
    {
        Console.WriteLine(("This example of the TimeSpan class properties " 
            + "generates the \nfollowing output. It "
            + "creates several TimeSpan objects and \ndisplays " 
            + "the values of the TimeSpan properties for each."));

        // Create and display a TimeSpan value of 1 tick.
        Console.Write(headerFmt, "TimeSpan( 1 )");
        ShowTimeSpanProperties(new TimeSpan(1));

        // Create a TimeSpan value with a large number of ticks.
        Console.Write(headerFmt, "TimeSpan( 111222333444555 )");
        ShowTimeSpanProperties(new TimeSpan(111222333444555L));

        // This TimeSpan has all fields specified.
        Console.Write(headerFmt, "TimeSpan( 10, 20, 30, 40, 50 )");
        ShowTimeSpanProperties(new TimeSpan(10, 20, 30, 40, 50));

        // This TimeSpan has all fields overflowing.
        Console.Write(headerFmt, "TimeSpan( 1111, 2222, 3333, 4444, 5555 )");
        ShowTimeSpanProperties(new TimeSpan(1111, 2222, 3333, 4444, 5555));

        // This TimeSpan is based on a number of days.
        Console.Write(headerFmt, "FromDays( 20.84745602 )");
        ShowTimeSpanProperties(TimeSpan.FromDays(20.84745602));
    } //main
} //TimeSpanPropertiesDemo

/*
This example of the TimeSpan class properties generates the
following output. It creates several TimeSpan objects and
displays the values of the TimeSpan properties for each.

TimeSpan( 1 )                                     00:00:00.0000001
Days               0       TotalDays         1.1574074074074074E-12
Hours              0       TotalHours        2.7777777777777777E-11
Minutes            0       TotalMinutes      1.6666666666666667E-9
Seconds            0       TotalSeconds                      1E-07
Milliseconds       0       TotalMilliseconds                0.0001
                           Ticks                                 1

TimeSpan( 111222333444555 )                   128.17:30:33.3444555
Days             128       TotalDays             128.7295525978646
Hours             17       TotalHours             3089.50926234875
Minutes           30       TotalMinutes           185370.555740925
Seconds           33       TotalSeconds           11122233.3444555
Milliseconds     344       TotalMilliseconds      11122233344.4555
                           Ticks                   111222333444555

TimeSpan( 10, 20, 30, 40, 50 )                 10.20:30:40.0500000
Days              10       TotalDays            10.854630208333333
Hours             20       TotalHours                   260.511125
Minutes           30       TotalMinutes                 15630.6675
Seconds           40       TotalSeconds                  937840.05
Milliseconds      50       TotalMilliseconds             937840050
                           Ticks                     9378400500000

TimeSpan( 1111, 2222, 3333, 4444, 5555 )     1205.22:47:09.5550000
Days            1205       TotalDays            1205.9494161458333
Hours             22       TotalHours                28942.7859875
Minutes           47       TotalMinutes              1736567.15925
Seconds            9       TotalSeconds              104194029.555
Milliseconds     555       TotalMilliseconds          104194029555
                           Ticks                  1041940295550000

FromDays( 20.84745602 )                        20.20:20:20.2000000
Days              20       TotalDays            20.847456018518518
Hours             20       TotalHours           500.33894444444445
Minutes           20       TotalMinutes         30020.336666666666
Seconds           20       TotalSeconds                  1801220.2
Milliseconds     200       TotalMilliseconds            1801220200
                           Ticks                    18012202000000
*/
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 和 .NET Compact Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱 .NET Framework 系統需求

.NET Framework

支援版本:3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

支援版本:3.5、2.0、1.0

XNA Framework

支援版本:2.0、1.0
社群內容   什麼是社群內容?
新增內容 RSS  註解
Processing
© 2009 Microsoft Corporation. 著作權所有,並保留一切權利。 使用規定 | 商標 | 隱私權聲明
Page view tracker