TimeSpan.FromMilliseconds Method

Returns a TimeSpan that represents a specified number of milliseconds.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Function FromMilliseconds ( _
    value As Double _
) As TimeSpan
public static TimeSpan FromMilliseconds(
    double value
)

Parameters

Return Value

Type: System.TimeSpan
An object that represents value.

Exceptions

Exception Condition
OverflowException

value is less than MinValue or greater than MaxValue.

-or-

value is Double.PositiveInfinity.

-or-

value is Double.NegativeInfinity.

ArgumentException

value is equal to Double.NaN.

Remarks

The value parameter is converted to ticks, and that number of ticks is used to initialize the new TimeSpan. Therefore, value will only be considered accurate to the nearest millisecond. Note that, because of the loss of precision of the Double data type, this conversion can generate an OverflowException for values that are near to but still in the range of either MinValue or MaxValue. For example, this causes an OverflowException in the following attempt to instantiate a TimeSpan object.

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

Examples

The following code example creates several TimeSpan objects using the FromMilliseconds method.

' Example of the TimeSpan.FromMilliseconds( Double ) method.

Module Example

   Sub GenTimeSpanFromMillisec(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal millisec As Double)

      ' Create a TimeSpan object and TimeSpan string from 
      ' a number of milliseconds.
      Dim interval As TimeSpan = _
          TimeSpan.FromMilliseconds(millisec)
      Dim timeInterval As String = interval.ToString()

      ' Pad the end of the TimeSpan string with spaces if it 
      ' does not contain milliseconds.
      Dim pIndex As Integer = timeInterval.IndexOf(":"c)
      pIndex = timeInterval.IndexOf("."c, pIndex)
      If pIndex < 0 Then timeInterval &= "        "

      outputBlock.Text &= String.Format("{0,21}{1,26}", millisec, timeInterval) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      outputBlock.Text &= "This example of " & _
          "TimeSpan.FromMilliseconds( Double )" & _
          vbCrLf & "generates the following output." & vbCrLf & vbCrLf
      outputBlock.Text &= "{0,21}{1,18}", _
          "FromMilliseconds", "TimeSpan" & vbCrLf
      outputBlock.Text &= "{0,21}{1,18}", _
          "----------------", "--------" & vbCrLf

      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)
   End Sub
End Module

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

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

See Also

Reference

TimeSpan Structure

System Namespace

Double

FromTicks

FromSeconds

FromMinutes

FromHours

FromDays