TimeSpan.FromHours 方法

定義

多載

FromHours(Double)

傳回表示指定時數的 TimeSpan,其規格的精確度達到最接近的毫秒數。

FromHours(Int32)
FromHours(Int32, Int64, Int64, Int64, Int64)

FromHours(Double)

來源:
TimeSpan.cs
來源:
TimeSpan.cs
來源:
TimeSpan.cs

傳回表示指定時數的 TimeSpan,其規格的精確度達到最接近的毫秒數。

public:
 static TimeSpan FromHours(double value);
public static TimeSpan FromHours (double value);
static member FromHours : double -> TimeSpan
Public Shared Function FromHours (value As Double) As TimeSpan

參數

value
Double

精確度達到最接近毫秒數的時數。

傳回

代表 value 的物件。

例外狀況

value 小於 TimeSpan.MinValue 或大於 TimeSpan.MaxValue

-或-

valuePositiveInfinity

-或-

valueNegativeInfinity

value 等於 NaN

範例

下列範例會使用 FromHours 方法建立數個 TimeSpan 物件。

// 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
*/
// 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.
open System

let genTimeSpanFromHours hours =
    // Create a TimeSpan object and TimeSpan string from 
    // a number of hours.
    let interval = TimeSpan.FromHours hours
    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 $"{hours,21}{timeInterval,26}"

printfn "This example of TimeSpan.FromHours( double )\ngenerates the following output.\n"
printfn "%21s%18s" "FromHours" "TimeSpan"
printfn "%21s%18s" "---------" "--------"

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.
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

備註

參數 value 會轉換成毫秒,它會轉換成刻度,而且該數目的刻度是用來初始化新的 TimeSpan 。 因此, value 只會被視為最接近毫秒的精確度。 請注意,由於資料類型的 Double 精確度遺失,此轉換會產生 OverflowException 接近但仍在 或 MaxValue 範圍內 MinValue 之值的 。 例如,這會導致 OverflowException 下列嘗試具現化 TimeSpan 物件。

// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours);
// The following throws an OverflowException at runtime
let maxSpan = TimeSpan.FromHours TimeSpan.MaxValue.TotalHours
' The following throws an OverflowException at runtime
Dim maxSpan As TimeSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours)

另請參閱

適用於

FromHours(Int32)

public:
 static TimeSpan FromHours(int hours);
public static TimeSpan FromHours (int hours);
static member FromHours : int -> TimeSpan
Public Shared Function FromHours (hours As Integer) As TimeSpan

參數

hours
Int32

傳回

適用於

FromHours(Int32, Int64, Int64, Int64, Int64)

public static TimeSpan FromHours (int hours, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0);
static member FromHours : int * int64 * int64 * int64 * int64 -> TimeSpan
Public Shared Function FromHours (hours As Integer, Optional minutes As Long = 0, Optional seconds As Long = 0, Optional milliseconds As Long = 0, Optional microseconds As Long = 0) As TimeSpan

參數

hours
Int32
minutes
Int64
seconds
Int64
milliseconds
Int64
microseconds
Int64

傳回

適用於