TimeSpan.FromHours Метод

Определение

Перегрузки

Имя Описание
FromHours(Double)

Возвращает значение TimeSpan , представляющее указанное количество часов, где спецификация является точной до ближайшей миллисекунда.

FromHours(Int32)

Инициализирует новый экземпляр TimeSpan структуры до указанного количества часов.

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

Инициализирует новый экземпляр TimeSpan структуры до указанного количества часов, минут, секунд, миллисекунд и микросекунд.

FromHours(Double)

Исходный код:
TimeSpan.cs
Исходный код:
TimeSpan.cs
Исходный код:
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.

–или–

value равно PositiveInfinity.

–или–

value равно NegativeInfinity.

value равно NaN.

Примеры

В следующем примере создается несколько TimeSpan объектов с помощью FromHours метода.

// 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 значение для значений, близких к значению, но по-прежнему в диапазоне MinValueMaxValueлибо. Например, это приводит к следующей 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)

Исходный код:
TimeSpan.cs
Исходный код:
TimeSpan.cs
Исходный код:
TimeSpan.cs

Инициализирует новый экземпляр TimeSpan структуры до указанного количества часов.

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

Количество часов.

Возвращаемое значение

Возвращает значение TimeSpan , представляющее указанное количество часов.

Исключения

Параметры указывают TimeSpan значение меньше или больше, чем MinValueMaxValue

Применяется к

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

Исходный код:
TimeSpan.cs
Исходный код:
TimeSpan.cs
Исходный код:
TimeSpan.cs

Инициализирует новый экземпляр TimeSpan структуры до указанного количества часов, минут, секунд, миллисекунд и микросекунд.

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

Число микросекунд.

Возвращаемое значение

TimeSpan Возвращает значение, представляющее указанное количество часов, минут, секунд, миллисекунд и микросекунд.

Исключения

Параметры указывают TimeSpan значение меньше или больше, чем MinValueMaxValue

Применяется к