Returns a TimeSpan that represents a specified number of hours, where the specification is accurate to the nearest millisecond.
Assembly: mscorlib (in mscorlib.dll)
Public Shared Function FromHours ( _ value As Double _ ) As TimeSpan
public static TimeSpan FromHours( double value )
public: static TimeSpan FromHours( double value )
static member FromHours : value:float -> TimeSpan
Parameters
- value
- Type: System.Double
A number of hours accurate to the nearest millisecond.
| 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. |
The value parameter is converted to milliseconds, which 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.FromHours(TimeSpan.MaxValue.TotalHours)
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours);
The following example creates several TimeSpan objects using the FromHours method.
' Example of the TimeSpan.FromHours( Double ) method. Imports System Imports Microsoft.VisualBasic Module FromHoursDemo Sub GenTimeSpanFromHours( hours As Double ) ' Create a TimeSpan object and TimeSpan string from ' a number of hours. Dim interval As TimeSpan = _ TimeSpan.FromHours( hours ) 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 &= " " Console.WriteLine( "{0,21}{1,26}", hours, timeInterval ) End Sub Sub Main( ) Console.WriteLine( "This example of " & _ "TimeSpan.FromHours( Double )" & _ vbCrLf & "generates the following output." & vbCrLf ) Console.WriteLine( "{0,21}{1,18}", _ "FromHours", "TimeSpan" ) Console.WriteLine( "{0,21}{1,18}", _ "---------", "--------" ) GenTimeSpanFromHours( 0.0000002 ) GenTimeSpanFromHours( 0.0000003 ) GenTimeSpanFromHours( 0.0012345 ) GenTimeSpanFromHours( 12.3456789 ) GenTimeSpanFromHours( 123456.7898765 ) GenTimeSpanFromHours( 0.0002777 ) GenTimeSpanFromHours( 0.0166666 ) GenTimeSpanFromHours( 1 ) GenTimeSpanFromHours( 24 ) GenTimeSpanFromHours( 500.3389445 ) End Sub End Module ' This example of TimeSpan.FromHours( Double ) ' generates the following output. ' ' FromHours TimeSpan ' --------- -------- ' 2E-07 00:00:00.0010000 ' 3E-07 00:00:00.0010000 ' 0.0012345 00:00:04.4440000 ' 12.3456789 12:20:44.4440000 ' 123456.7898765 5144.00:47:23.5550000 ' 0.0002777 00:00:01 ' 0.0166666 00:01:00 ' 1 01:00:00 ' 24 1.00:00:00 ' 500.3389445 20.20:20:20.2000000
// Example of the TimeSpan.FromHours( double ) method. using System; class FromHoursDemo { static void GenTimeSpanFromHours( double hours ) { // Create a TimeSpan object and TimeSpan string from // a number of hours. TimeSpan interval = TimeSpan.FromHours( hours ); 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 += " "; Console.WriteLine( "{0,21}{1,26}", hours, timeInterval ); } static void Main( ) { Console.WriteLine( "This example of TimeSpan.FromHours( double )\n" + "generates the following output.\n" ); Console.WriteLine( "{0,21}{1,18}", "FromHours", "TimeSpan" ); Console.WriteLine( "{0,21}{1,18}", "---------", "--------" ); GenTimeSpanFromHours( 0.0000002 ); GenTimeSpanFromHours( 0.0000003 ); GenTimeSpanFromHours( 0.0012345 ); GenTimeSpanFromHours( 12.3456789 ); GenTimeSpanFromHours( 123456.7898765 ); GenTimeSpanFromHours( 0.0002777 ); GenTimeSpanFromHours( 0.0166666 ); GenTimeSpanFromHours( 1 ); GenTimeSpanFromHours( 24 ); GenTimeSpanFromHours( 500.3389445 ); } } /* This example of TimeSpan.FromHours( double ) generates the following output. FromHours TimeSpan --------- -------- 2E-07 00:00:00.0010000 3E-07 00:00:00.0010000 0.0012345 00:00:04.4440000 12.3456789 12:20:44.4440000 123456.7898765 5144.00:47:23.5550000 0.0002777 00:00:01 0.0166666 00:01:00 1 01:00:00 24 1.00:00:00 500.3389445 20.20:20:20.2000000 */
// Example of the TimeSpan::FromHours( double ) method. using namespace System; void GenTimeSpanFromHours( double hours ) { // Create a TimeSpan object and TimeSpan string from // a number of hours. TimeSpan interval = TimeSpan::FromHours( hours ); 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 = String::Concat( timeInterval, " " ); Console::WriteLine( "{0,21}{1,26}", hours, timeInterval ); } int main() { Console::WriteLine( "This example of TimeSpan::FromHours( double )\n" "generates the following output.\n" ); Console::WriteLine( "{0,21}{1,18}", "FromHours", "TimeSpan" ); Console::WriteLine( "{0,21}{1,18}", "---------", "--------" ); GenTimeSpanFromHours( 0.0000002 ); GenTimeSpanFromHours( 0.0000003 ); GenTimeSpanFromHours( 0.0012345 ); GenTimeSpanFromHours( 12.3456789 ); GenTimeSpanFromHours( 123456.7898765 ); GenTimeSpanFromHours( 0.0002777 ); GenTimeSpanFromHours( 0.0166666 ); GenTimeSpanFromHours( 1 ); GenTimeSpanFromHours( 24 ); GenTimeSpanFromHours( 500.3389445 ); } /* This example of TimeSpan::FromHours( double ) generates the following output. FromHours TimeSpan --------- -------- 2E-07 00:00:00.0010000 3E-07 00:00:00.0010000 0.0012345 00:00:04.4440000 12.3456789 12:20:44.4440000 123456.7898765 5144.00:47:23.5550000 0.0002777 00:00:01 0.0166666 00:01:00 1 01:00:00 24 1.00:00:00 500.3389445 20.20:20:20.2000000 */
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0.NET Framework Client Profile
Supported in: 4, 3.5 SP1Portable Class Library
Supported in: Portable Class LibraryWindows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.