Поделиться через


TimeSpan.FromHours Метод

Определение

Перегрузки

FromHours(Double)

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

FromHours(Int32)

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

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

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

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.

-или-

value PositiveInfinity.

-или-

value NegativeInfinity.

value равно NaN.

Примеры

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

// 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 для значений, которые находятся рядом, но по-прежнему находятся в диапазоне MinValue или MaxValue. Например, это приводит к 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 до указанного количества часов.

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 меньше MinValue или больше MaxValue

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

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

Инициализирует новый экземпляр структуры 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 меньше MinValue или больше MaxValue

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