TimeSpan::FromDays Method
Returns a TimeSpan that represents a specified number of days, where the specification is accurate to the nearest millisecond.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System::Double
A number of days, 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 cause 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 example creates several TimeSpan objects using the FromDays method.
// Example of the TimeSpan::FromDays( double ) method. using namespace System; void GenTimeSpanFromDays( double days ) { // Create a TimeSpan object and TimeSpan string from // a number of days. TimeSpan interval = TimeSpan::FromDays( days ); 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}", days, timeInterval ); } int main() { Console::WriteLine( "This example of TimeSpan::FromDays( double )\n" "generates the following output.\n" ); Console::WriteLine( "{0,21}{1,18}", "FromDays", "TimeSpan" ); Console::WriteLine( "{0,21}{1,18}", "--------", "--------" ); GenTimeSpanFromDays( 0.000000006 ); GenTimeSpanFromDays( 0.000000017 ); GenTimeSpanFromDays( 0.000123456 ); GenTimeSpanFromDays( 1.234567898 ); GenTimeSpanFromDays( 12345.678987654 ); GenTimeSpanFromDays( 0.000011574 ); GenTimeSpanFromDays( 0.000694444 ); GenTimeSpanFromDays( 0.041666666 ); GenTimeSpanFromDays( 1 ); GenTimeSpanFromDays( 20.84745602 ); } /* This example of TimeSpan::FromDays( double ) generates the following output. FromDays TimeSpan -------- -------- 6E-09 00:00:00.0010000 1.7E-08 00:00:00.0010000 0.000123456 00:00:10.6670000 1.234567898 1.05:37:46.6660000 12345.678987654 12345.16:17:44.5330000 1.1574E-05 00:00:01 0.000694444 00:01:00 0.041666666 01:00:00 1 1.00:00:00 20.84745602 20.20:20:20.2000000 */
Windows 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.