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

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


DateTimeOffset.AddHours(Double) Метод

Определение

Возвращает новый объект DateTimeOffset, добавляющий заданное количество полных и неполных часов к значению этого экземпляра.

C#
public DateTimeOffset AddHours(double hours);

Параметры

hours
Double

Число полных и неполных часов. Это число может быть положительным или отрицательным.

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

Объект, значение которого равно сумме даты и времени, представленных текущим объектом DateTimeOffset, и количества часов, представленного параметром hours.

Исключения

Полученное DateTimeOffset значение меньше DateTimeOffset.MinValue.

-или-

Полученное DateTimeOffset значение больше DateTimeOffset.MaxValue.

Примеры

В следующем примере метод используется AddHours для перечисления времени начала рабочих смен за определенную неделю в офисе с двумя восьмичасовой сменой в день.

C#
const int SHIFT_LENGTH = 8;

DateTimeOffset startTime = new DateTimeOffset(2007, 8, 6, 0, 0, 0,
                     DateTimeOffset.Now.Offset);
DateTimeOffset startOfShift = startTime.AddHours(SHIFT_LENGTH);

Console.WriteLine("Shifts for the week of {0:D}", startOfShift);
do
{
   // Exclude third shift
   if (startOfShift.Hour > 6)
      Console.WriteLine("   {0:d} at {0:T}", startOfShift);

   startOfShift = startOfShift.AddHours(SHIFT_LENGTH);
} while (startOfShift.DayOfWeek != DayOfWeek.Saturday &
           startOfShift.DayOfWeek != DayOfWeek.Sunday);
// The example produces the following output:
//
//    Shifts for the week of Monday, August 06, 2007
//       8/6/2007 at 8:00:00 AM
//       8/6/2007 at 4:00:00 PM
//       8/7/2007 at 8:00:00 AM
//       8/7/2007 at 4:00:00 PM
//       8/8/2007 at 8:00:00 AM
//       8/8/2007 at 4:00:00 PM
//       8/9/2007 at 8:00:00 AM
//       8/9/2007 at 4:00:00 PM
//       8/10/2007 at 8:00:00 AM
//       8/10/2007 at 4:00:00 PM

Комментарии

Дробная часть hours параметра — это дробная часть часа. Например, 4,5 эквивалентно 4 часам, 30 минутам, 0 секундам, 0 миллисекундам.

В .NET 6 и более ранних версиях hours параметр округляется до ближайшей миллисекунды. В .NET 7 и более поздних версиях используется полная Double точность hours параметра. Однако из-за присущей точности математических вычислений с плавающей запятой результирующая точность будет отличаться.

Примечание

Этот метод возвращает новый DateTimeOffset объект . Он не изменяет значение текущего объекта путем добавления hours к его дате и времени.

DateTimeOffset Поскольку объект не представляет дату и время в определенном часовом поясе, AddHours метод не учитывает правила корректировки определенного часового пояса при выполнении арифметики даты и времени.

Преобразование интервалов времени менее часа в дробь может привести к потере точности. (Например, одна минута составляет 0,01666 часа.) Если это проблематично, можно использовать Add метод , который позволяет указать несколько типов интервалов времени в одном вызове метода и устраняет необходимость преобразования интервалов времени в дробные части часа.

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

Продукт Версии
.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, 10
.NET Framework 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

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