Прочитать на английском

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


TimeSpan.FromDays Метод

Определение

Перегрузки

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);

Параметры

value
Double

Число дней, точное до ближайшей миллисекунда.

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

Объект, представляющий value.

Исключения

value меньше TimeSpan.MinValue или больше TimeSpan.MaxValue.

-или-

value PositiveInfinity.

-или-

value NegativeInfinity.

value равно NaN.

Примеры

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

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

Комментарии

Параметр value преобразуется в миллисекунда, который преобразуется в галочки, и используется для инициализации нового TimeSpan. Таким образом, value будет считаться точным только в ближайшее миллисекунда. Обратите внимание, что из-за потери точности типа данных Double это преобразование может вызвать OverflowException для значений, которые находятся рядом, но по-прежнему находятся в диапазоне MinValue или MaxValue. Например, это приводит к OverflowException в следующей попытке создать экземпляр объекта TimeSpan.

// The following throws an OverflowException at runtime
TimeSpan maxSpan = TimeSpan.FromDays(TimeSpan.MaxValue.TotalDays);

См. также раздел

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

.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

FromDays(Int32)

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

public static TimeSpan FromDays (int days);

Параметры

days
Int32

Количество дней.

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

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

Исключения

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

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

.NET 9
Продукт Версии
.NET 9

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);

Параметры

days
Int32

Количество дней.

hours
Int32

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

minutes
Int64

Количество минут.

seconds
Int64

Количество секунд.

milliseconds
Int64

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

microseconds
Int64

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

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

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

Исключения

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

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

.NET 9
Продукт Версии
.NET 9