エクスポート (0) 印刷
すべて展開

TimeSpan 構造体

時間間隔を表します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class TimeSpan extends ValueType implements IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>
適用できません。

TimeSpan オブジェクトは、時間間隔 (正数または負数の日、時間、分、秒、および秒の端数として計測された時間) を表します。計測に使用する時間の最大単位は日です。月や年など、より大きな時間単位では日数が異なるため、一貫性を保つために、時間間隔は日単位で計測されます。

TimeSpan オブジェクトの値は、表されている時間間隔と等しいタイマ刻みの数です。タイマ刻みは 100 ナノ秒に相当します。TimeSpan オブジェクトの値には、MinValue から MaxValue までの範囲の値を指定できます。

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.IComparable インターフェイスと System.IComparable インターフェイスを実装します。

複数の TimeSpan オブジェクトを作成し、各オブジェクトのプロパティを表示するコード例を次に示します。

// 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
*/                           

// 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では共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

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

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

.NET Compact Framework

サポート対象 : 2.0,1.0

XNA Framework

サポート対象 : 1.0

コミュニティの追加

追加
表示:
© 2014 Microsoft