エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

TimeSpan 構造体

2013/12/12

時間間隔を表します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public struct TimeSpan : IComparable, IComparable<TimeSpan>, 
	IEquatable<TimeSpan>, IFormattable

TimeSpan 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドTimeSpan(Int64)新しい TimeSpan を指定したタイマー刻みの数に初期化します。
パブリック メソッドTimeSpan(Int32, Int32, Int32)新しい TimeSpan を指定した時間数、分数、秒数に初期化します。
パブリック メソッドTimeSpan(Int32, Int32, Int32, Int32)新しい TimeSpan を指定した日数、時間数、分数、秒数に初期化します。
パブリック メソッドTimeSpan(Int32, Int32, Int32, Int32, Int32)新しい TimeSpan を指定した日数、時間数、分数、秒数、ミリ秒数に初期化します。
このページのトップへ

  名前説明
パブリック プロパティDays現在の TimeSpan 構造体が表す時間間隔の日の部分を取得します。
パブリック プロパティHours現在の TimeSpan 構造体によって表される時間間隔の時間要素を取得します。
パブリック プロパティMilliseconds現在の TimeSpan 構造体によって表される時間間隔のミリ秒要素を取得します。
パブリック プロパティMinutes現在の TimeSpan 構造体によって表される時間間隔の分要素を取得します。
パブリック プロパティSeconds現在の TimeSpan 構造体によって表される時間間隔の秒要素を取得します。
パブリック プロパティTicks現在の TimeSpan 構造体の値を表すタイマー刻みの数を取得します。
パブリック プロパティTotalDays整数部と小数部から成る日数で表される、現在の TimeSpan 構造体の値を取得します。
パブリック プロパティTotalHours整数部と小数部から成る時間数で表される、現在の TimeSpan 構造体の値を取得します。
パブリック プロパティTotalMilliseconds整数部と小数部から成るミリ秒数で表される、現在の TimeSpan 構造体の値を取得します。
パブリック プロパティTotalMinutes整数部と小数部から成る分数で表される、現在の TimeSpan 構造体の値を取得します。
パブリック プロパティTotalSeconds整数部と小数部から成る秒数で表される、現在の TimeSpan 構造体の値を取得します。
このページのトップへ

  名前説明
パブリック メソッドAdd指定された TimeSpan オブジェクトとこのインスタンスの合計を値に持つ、新しい TimeSpan オブジェクトを返します。
パブリック メソッド静的メンバーCompare2 つの TimeSpan 値を比較し、1 つ目の時間間隔が 2 つ目の時間間隔より長いか、等しいか、短いかを示す整数を返します。
パブリック メソッドCompareTo(Object)このインスタンスと指定したオブジェクトを比較し、このインスタンスが表す時間間隔が指定したオブジェクトの時間間隔よりも長いか、同じか、または短いかを示す整数を返します。
パブリック メソッドCompareTo(TimeSpan)指定した TimeSpan オブジェクトとこのインスタンスを比較し、指定した TimeSpan オブジェクトが表す時間間隔と比べて、このインスタンスが表す時間間隔が長い、等しい、または短いことを示す整数を返します。
パブリック メソッドDuration値が現在の TimeSpan オブジェクトの絶対値である、新しい TimeSpan オブジェクトを返します。
パブリック メソッドEquals(Object)指定されたオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (ValueType.Equals(Object) をオーバーライドします。)
パブリック メソッドEquals(TimeSpan)このインスタンスが、指定した TimeSpan オブジェクトに等しいかどうかを示す値を返します。
パブリック メソッド静的メンバーEquals(TimeSpan, TimeSpan)TimeSpan の指定した 2 つのインスタンスが等しいかどうかを示す値を返します。
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッド静的メンバーFromDays指定した日数を表す TimeSpan を返します。日数は、ミリ秒単位の精度で指定します。
パブリック メソッド静的メンバーFromHours指定した時間数を表す TimeSpan を返します。時間数は、ミリ秒単位の精度で指定します。
パブリック メソッド静的メンバーFromMilliseconds指定したミリ秒数を表す TimeSpan を返します。
パブリック メソッド静的メンバーFromMinutes指定した分数を表す TimeSpan を返します。分数は、ミリ秒単位の精度で指定します。
パブリック メソッド静的メンバーFromSeconds指定した秒数を表す TimeSpan を返します。秒数は、ミリ秒単位の精度で指定します。
パブリック メソッド静的メンバーFromTicks指定した時間を表す TimeSpan を返します。時間は、タイマー刻み単位で指定します。
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (ValueType.GetHashCode() をオーバーライドします。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドNegateこのインスタンスの値とは符号が逆の値を持つ新しい TimeSpan を返します。
パブリック メソッド静的メンバーParse(String)時間間隔の文字列形式を等価の TimeSpan に変換します。
パブリック メソッド静的メンバーParse(String, IFormatProvider)指定したカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。
パブリック メソッド静的メンバーParseExact(String, String, IFormatProvider)指定した書式とカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。文字列形式の書式は、指定した書式と完全に一致する必要があります。
パブリック メソッド静的メンバーParseExact(String, String[], IFormatProvider)指定した書式指定文字列の配列とカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。
パブリック メソッド静的メンバーParseExact(String, String, IFormatProvider, TimeSpanStyles)指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。文字列形式の書式は、指定した書式と完全に一致する必要があります。
パブリック メソッド静的メンバーParseExact(String, String[], IFormatProvider, TimeSpanStyles)指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換します。文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。
パブリック メソッドSubtract指定された TimeSpan オブジェクトとこのインスタンスの間の差分を値に持つ、新しい TimeSpan オブジェクトを返します。
パブリック メソッドToString()現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。 (ValueType.ToString() をオーバーライドします。)
パブリック メソッドToString(String)指定した書式を使用して、現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。
パブリック メソッドToString(String, IFormatProvider)指定した書式とカルチャ固有の書式情報を使用して、現在の TimeSpan オブジェクトの値を等価の文字列形式に変換します。
パブリック メソッド静的メンバーTryParse(String, TimeSpan)時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。
パブリック メソッド静的メンバーTryParse(String, IFormatProvider, TimeSpan)指定したカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。
パブリック メソッド静的メンバーTryParseExact(String, String, IFormatProvider, TimeSpan)指定した書式とカルチャ固有の書式情報を使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。文字列形式の書式は、指定した書式と完全に一致する必要があります。
パブリック メソッド静的メンバーTryParseExact(String, String[], IFormatProvider, TimeSpan)指定した書式とカルチャ固有の書式情報を使用して、指定した文字列形式の時間間隔を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。
パブリック メソッド静的メンバーTryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、時間間隔の文字列形式を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。文字列形式の書式は、指定した書式と完全に一致する必要があります。
パブリック メソッド静的メンバーTryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)指定した書式、カルチャ固有の書式情報、およびスタイルを使用して、指定した文字列形式の時間間隔を等価の TimeSpan に変換し、変換に成功したかどうかを示す値を返します。文字列形式の書式は、指定されたいずれかの書式と完全に一致する必要があります。
このページのトップへ

  名前説明
パブリック演算子静的メンバーAddition指定した 2 つの TimeSpan インスタンスを加算します。
パブリック演算子静的メンバーEquality2 つの TimeSpan インスタンスが等しいかどうかを示します。
パブリック演算子静的メンバーGreaterThan指定した TimeSpan が、指定したもう 1 つの TimeSpan より大きいかどうかを示します。
パブリック演算子静的メンバーGreaterThanOrEqual指定した TimeSpan が、指定したもう 1 つの TimeSpan 以上かどうかを示します。
パブリック演算子静的メンバーInequality2 つの TimeSpan インスタンスが等しくないかどうかを示します。
パブリック演算子静的メンバーLessThan指定した TimeSpan が、指定したもう 1 つの TimeSpan 未満かどうかを示します。
パブリック演算子静的メンバーLessThanOrEqual指定した TimeSpan が、指定したもう 1 つの TimeSpan 以下かどうかを示します。
パブリック演算子静的メンバーSubtraction指定したもう 1 つの TimeSpan から、指定した TimeSpan を減算します。
パブリック演算子静的メンバーUnaryNegation指定したインスタンスの値とは符号が逆の値を持つ TimeSpan を返します。
パブリック演算子静的メンバーUnaryPlusTimeSpan の指定したインスタンスを返します。
このページのトップへ

  名前説明
パブリック フィールド静的メンバーMaxValueTimeSpan の最大値を表します。このフィールドは読み取り専用です。
パブリック フィールド静的メンバーMinValueTimeSpan の最小値を表します。このフィールドは読み取り専用です。
パブリック フィールド静的メンバーTicksPerDayタイマー刻みの数を 1 日で表します。このフィールドは定数です。
パブリック フィールド静的メンバーTicksPerHourタイマー刻みの数を 1 時間で表します。このフィールドは定数です。
パブリック フィールド静的メンバーTicksPerMillisecondタイマー刻みの数を 1 ミリ秒で表します。このフィールドは定数です。
パブリック フィールド静的メンバーTicksPerMinuteタイマー刻みの数を 1 分で表します。このフィールドは定数です。
パブリック フィールド静的メンバーTicksPerSecondタイマー刻みの数を 1 秒で表します。
パブリック フィールド静的メンバーZero0 の TimeSpan 値を表します。このフィールドは読み取り専用です。
このページのトップへ

TimeSpan オブジェクトは、時間間隔 (存続期間または経過期間) を正または負の数で表します。この時間間隔は、日、時間、分、秒、および秒の端数で測定されます。TimeSpan 構造体は、時刻が特定の日付に関連付けられていない場合にのみ、時刻を表示するために使用されます。それ以外の場合は、DateTime または DateTimeOffset 構造体を代わりに使用する必要があります。

計測に使用する時間の最大単位は日です。月や年など、より大きな時間単位では日数が異なるため、一貫性を保つために、時間間隔は日単位で計測されます。

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

TimeSpan 値をインスタンス化する

TimeSpan 値は、多くの方法でインスタンス化できます。

  • 暗黙の既定コンストラクターを呼び出します。これにより、次の例のように、値が TimeSpan.Zero のオブジェクトが作成されます。

    
    TimeSpan interval = new TimeSpan();
    outputBlock.Text += interval.Equals(TimeSpan.Zero) + "\n";    // Displays "True".
    
    
    
  • いずれかの明示的なコンストラクターを呼び出します。次の例では、TimeSpan を、指定した時間数、分数、秒数に初期化します。

    
    TimeSpan interval = new TimeSpan(2, 14, 18);
    outputBlock.Text += interval.ToString() + "\n";              // Displays "02:14:18".
    
    
    
  • メソッドの呼び出しや TimeSpan 値を返す操作を実行します。たとえば、次の例に示すように、2 つの日時値の間隔を表す TimeSpan 値のインスタンスを作成できます。

    
    DateTime departure = new DateTime(2010, 6, 12, 18, 32, 0);
    DateTime arrival = new DateTime(2010, 6, 13, 22, 47, 0);
    TimeSpan travelTime = arrival - departure;
    outputBlock.Text += String.Format("{0} - {1} = {2}", arrival, departure, travelTime) + "\n";
    // 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 オブジェクトをゼロ時間の値に初期化することも可能です。

    TimeSpan 値は、算術演算子と DateTimeDateTimeOffset、および TimeSpan 構造体のメソッドによって返されます。

  • TimeSpan 値の文字列形式を解析します。Parse メソッドまたは TryParse メソッドを使用して、時間間隔を含む文字列を TimeSpan 値に変換できます。Parse メソッドを使用して、文字列の配列を TimeSpan 値に変換する例を次に示します。

    
    string[] values = { "12", "31.", "5.8:32:16", "12:12:15.95", ".12" };
    foreach (string value in values)
    {
       try
       {
          TimeSpan ts = TimeSpan.Parse(value);
          outputBlock.Text += String.Format("'{0}' --> {1}", value, ts) + "\n";
       }
       catch (FormatException)
       {
          outputBlock.Text += String.Format("Unable to parse '{0}'", value) + "\n";
       }
       catch (OverflowException)
       {
          outputBlock.Text += String.Format("'{0}' is outside the range of a TimeSpan.", value) + "\n";
       }
    }
    // 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 値の書式を設定する

TimeSpan 値は、[-]d.hh:mm:ss.ff で表すことができます。省略可能なマイナス記号は、負の時間間隔を表します。d の部分は日、hh は 24 時間制の時間、mm は分、ss は秒、ff は秒の端数です。つまり、時間間隔は、時刻なしの正または負の日数、時刻付きの日数、または時刻のみで構成されます。たとえば、タイマー刻みの数が 1.0e+13 に初期化された TimeSpan オブジェクトのテキスト形式は、"11.13:46:40"、つまり、11 日 13 時間 46 分 40 秒を表します。

次の使用例は、2 つの日付の差を表す TimeSpan オブジェクトのインスタンスを作成します。次に、TimeSpan オブジェクトのプロパティを表示します。このコード例をコンパイルして実行する方法の詳細については、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


outputBlock.FontFamily = new System.Windows.Media.FontFamily("Courier New");

// 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;
outputBlock.Text += String.Format("{0} - {1} = {2}", date2, date1, interval.ToString()) + "\n";
// Display individual properties of the resulting TimeSpan object.
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Value of Days Component:", interval.Days) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Total Number of Days:", interval.TotalDays) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Value of Hours Component:", interval.Hours) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Total Number of Hours:", interval.TotalHours) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Value of Minutes Component:", interval.Minutes) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20}", "Total Number of Minutes:", interval.TotalMinutes) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.Seconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.TotalSeconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.Milliseconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.TotalMilliseconds) + "\n";
outputBlock.Text += String.Format("   {0,-35} {1,20:N0}", "Ticks:", interval.Ticks) + "\n";
// 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


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2015 Microsoft