TimeSpan.FromHours 方法

定義

多載

FromHours(Double)

會傳回代表指定時數的 TimeSpan,其中規格精確到最接近毫秒。

FromHours(Int32)

TimeSpan 結構的新實例初始化為指定的時數。

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

TimeSpan 結構的新實例初始化為指定的時數、分鐘、秒、毫秒和微秒數。

FromHours(Double)

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

會傳回代表指定時數的 TimeSpan,其中規格精確到最接近毫秒。

C#
public static TimeSpan FromHours (double value);

參數

value
Double

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

傳回

物件,表示 value

例外狀況

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

-或-

value PositiveInfinity

-或-

value NegativeInfinity

value 等於 NaN

範例

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

C#
// 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
*/

備註

value 參數會轉換成毫秒,它會轉換成刻度,而該刻度數則用來初始化新的 TimeSpan。 因此,value 只會被視為精確到最接近的毫秒。 請注意,由於遺失 Double 數據類型的有效位數,此轉換可能會針對接近但仍在 MinValueMaxValue範圍內的值產生 OverflowException。 例如,這會導致下列嘗試具現化 TimeSpan 物件中的 OverflowException

C#
// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromHours(TimeSpan.MaxValue.TotalHours);

另請參閱

適用於

.NET 9 和其他版本
產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

FromHours(Int32)

TimeSpan 結構的新實例初始化為指定的時數。

C#
public static TimeSpan FromHours (int hours);

參數

hours
Int32

時數。

傳回

傳回代表指定時數的 TimeSpan

例外狀況

參數會指定小於 MinValue 或大於 MaxValueTimeSpan

適用於

.NET 9
產品 版本
.NET 9

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

TimeSpan 結構的新實例初始化為指定的時數、分鐘、秒、毫秒和微秒數。

C#
public static TimeSpan FromHours (int hours, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0);

參數

hours
Int32

時數。

minutes
Int64

分鐘數。

seconds
Int64

秒數。

milliseconds
Int64

毫秒數。

microseconds
Int64

微秒數。

傳回

傳回 TimeSpan,代表指定的時數、分鐘、秒、毫秒和微秒數。

例外狀況

參數會指定小於 MinValue 或大於 MaxValueTimeSpan

適用於

.NET 9
產品 版本
.NET 9