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

TimeSpan.FromMilliseconds メソッド

2013/12/12

指定したミリ秒数を表す TimeSpan を返します。

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

public static TimeSpan FromMilliseconds(
	double value
)

パラメーター

value
型: System.Double
ミリ秒数。

戻り値

型: System.TimeSpan
value を表すオブジェクト。

例外条件
OverflowException

valueMinValue より小さい値か、MaxValue より大きい値です。

または

valueDouble.PositiveInfinity です。

または

valueDouble.NegativeInfinity です。

ArgumentException

valueDouble.NaN が等しい。

value パラメーターはタイマー刻みに変換され、このタイマー刻みの数を使用して新しい TimeSpan が初期化されます。したがって、value は、ミリ秒単位の精度であると見なされます。Double データ型の精度が低下するため、この変換によって、MinValue または MaxValue の付近でもその範囲内にある値に対して OverflowException が生成されます。これが原因で、たとえば TimeSpan オブジェクトをインスタンス化する次の例では OverflowException が発生します。


// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromMilliseconds(TimeSpan.MaxValue.TotalMilliseconds);


FromMilliseconds メソッドを使用して、複数の TimeSpan オブジェクトを作成するコード例を次に示します。


// Example of the TimeSpan.FromMilliseconds( double ) method.
using System;

class Example
{
   static void GenTimeSpanFromMillisec(System.Windows.Controls.TextBlock outputBlock, Double millisec)
   {
      // Create a TimeSpan object and TimeSpan string from 
      // a number of milliseconds.
      TimeSpan interval = TimeSpan.FromMilliseconds(millisec);
      string timeInterval = interval.ToString();

      // Pad the end of the TimeSpan string with spaces if it 
      // does not contain milliseconds.
      int pIndex = timeInterval.IndexOf(':');
      pIndex = timeInterval.IndexOf('.', pIndex);
      if (pIndex < 0) timeInterval += "        ";

      outputBlock.Text += String.Format("{0,21}{1,26}", millisec, timeInterval) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += 
          "This example of TimeSpan.FromMilliseconds( " +
          "double )\ngenerates the following output.\n" + "\n";
      outputBlock.Text += "{0,21}{1,18}",
          "FromMilliseconds", "TimeSpan" + "\n";
      outputBlock.Text += "{0,21}{1,18}",
          "----------------", "--------" + "\n";

      GenTimeSpanFromMillisec(outputBlock, 1);
      GenTimeSpanFromMillisec(outputBlock, 1.5);
      GenTimeSpanFromMillisec(outputBlock, 12345.6);
      GenTimeSpanFromMillisec(outputBlock, 123456789.8);
      GenTimeSpanFromMillisec(outputBlock, 1234567898765.4);
      GenTimeSpanFromMillisec(outputBlock, 1000);
      GenTimeSpanFromMillisec(outputBlock, 60000);
      GenTimeSpanFromMillisec(outputBlock, 3600000);
      GenTimeSpanFromMillisec(outputBlock, 86400000);
      GenTimeSpanFromMillisec(outputBlock, 1801220200);
   }
}

/*
This example of TimeSpan.FromMilliseconds( double )
generates the following output.

     FromMilliseconds          TimeSpan
     ----------------          --------
                    1          00:00:00.0010000
                  1.5          00:00:00.0020000
              12345.6          00:00:12.3460000
          123456789.8        1.10:17:36.7900000
      1234567898765.4    14288.23:31:38.7650000
                 1000          00:00:01
                60000          00:01:00
              3600000          01:00:00
             86400000        1.00:00:00
           1801220200       20.20:20:20.2000000
*/


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示:
© 2014 Microsoft