TimeSpan.FromDays 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
FromDays(Double) |
會傳回代表指定天數的 TimeSpan,其中規格精確到最接近毫秒。 |
FromDays(Int32) |
將 TimeSpan 結構的新實例初始化為指定的天數。 |
FromDays(Int32, Int32, Int64, Int64, Int64, Int64) |
將 TimeSpan 結構的新實例初始化為指定的天數、小時、分鐘、秒、毫秒和微秒數。 |
FromDays(Double)
- 來源:
- TimeSpan.cs
- 來源:
- TimeSpan.cs
- 來源:
- TimeSpan.cs
會傳回代表指定天數的 TimeSpan,其中規格精確到最接近毫秒。
public:
static TimeSpan FromDays(double value);
public static TimeSpan FromDays (double value);
static member FromDays : double -> TimeSpan
Public Shared Function FromDays (value As Double) As TimeSpan
參數
- value
- Double
數天,精確到最接近的毫秒。
傳回
物件,表示 value
。
例外狀況
value
小於 TimeSpan.MinValue 或大於 TimeSpan.MaxValue。
-或-
value
PositiveInfinity。
-或-
value
NegativeInfinity。
value
等於 NaN。
範例
下列範例會使用 FromDays 方法建立數個 TimeSpan 物件。
// 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
*/
// Example of the TimeSpan.FromDays( double ) method.
using System;
class FromDaysDemo
{
static 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 += " ";
Console.WriteLine( "{0,21}{1,26}", days, timeInterval );
}
static void 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
*/
// Example of the TimeSpan.FromDays( double ) method.
open System
let genTimeSpanFromDays days =
// Create a TimeSpan object and TimeSpan string from
// a number of days.
let interval = TimeSpan.FromDays days
let timeInterval = string interval
// Pad the end of the TimeSpan string with spaces if it
// does not contain milliseconds.
let pIndex = timeInterval.IndexOf ':'
let pIndex = timeInterval.IndexOf('.', pIndex)
let timeInterval =
if pIndex < 0 then timeInterval + " "
else timeInterval
printfn $"{days,21}{timeInterval,26}"
printfn "This example of TimeSpan.FromDays( double )\ngenerates the following output.\n"
printfn "%21s%18s" "FromDays" "TimeSpan"
printfn "%21s%18s" "--------" "--------"
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
*)
' Example of the TimeSpan.FromDays( Double ) method.
Module FromDaysDemo
Sub GenTimeSpanFromDays( days As Double )
' Create a TimeSpan object and TimeSpan string from
' a number of days.
Dim interval As TimeSpan = _
TimeSpan.FromDays( days )
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}", days, timeInterval )
End Sub
Sub Main( )
Console.WriteLine( "This example of " & _
"TimeSpan.FromDays( Double )" & _
vbCrLf & "generates the following output." & vbCrLf )
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 )
End Sub
End Module
' 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
備註
value
參數會轉換成毫秒,它會轉換成刻度,而該刻度數則用來初始化新的 TimeSpan。 因此,value
只會被視為精確到最接近的毫秒。 請注意,由於遺失 Double 數據類型的有效位數,此轉換可能會造成接近但仍在 MinValue 或 MaxValue範圍內的值 OverflowException。 例如,這會導致下列嘗試具現化 TimeSpan 物件中的 OverflowException。
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromDays(TimeSpan.MaxValue.TotalDays);
// The following throws an OverflowException at runtime
let maxSpan = TimeSpan.FromDays TimeSpan.MaxValue.TotalDays
' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromDays(TimeSpan.MaxValue.TotalDays)
另請參閱
- Double
- FromTicks(Int64)
- FromMilliseconds(Double)
- FromSeconds(Double)
- FromMinutes(Double)
- FromHours(Double)
適用於
FromDays(Int32)
FromDays(Int32, Int32, Int64, Int64, Int64, Int64)
將 TimeSpan 結構的新實例初始化為指定的天數、小時、分鐘、秒、毫秒和微秒數。
public static TimeSpan FromDays (int days, int hours = 0, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0);
static member FromDays : int * int * int64 * int64 * int64 * int64 -> TimeSpan
Public Shared Function FromDays (days As Integer, Optional hours As Integer = 0, Optional minutes As Long = 0, Optional seconds As Long = 0, Optional milliseconds As Long = 0, Optional microseconds As Long = 0) As TimeSpan
參數
- days
- Int32
天數。
- hours
- Int32
時數。
- minutes
- Int64
分鐘數。
- seconds
- Int64
秒數。
- milliseconds
- Int64
毫秒數。
- microseconds
- Int64
微秒數。
傳回
會傳回 TimeSpan,代表指定的天數、小時、分鐘、秒、毫秒和微秒數。