# TimeSpan.FromMilliseconds 方法

2013/12/13

Namespace:  System

```public static TimeSpan FromMilliseconds(
double value
)
```

value

#### 返回值

OverflowException

value 小于 MinValue 或大于 MaxValue

- 或 -

valueDouble.PositiveInfinity

- 或 -

valueDouble.NegativeInfinity

ArgumentException

value 等于 Double.NaN

value 参数转换为刻度数，而该刻度数用于初始化新的 TimeSpan。因此，只认为 value 精确到最近的毫秒。请注意，由于 Double 数据类型的精度丢失，对接近但仍处于 MinValueMaxValue 范围内的值，此转换会生成 OverflowException。例如，在下列实例化 TimeSpan 对象的尝试中，这会导致 OverflowException

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

```

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

(1500 个剩余字符)