DateTime.AddHours(Double) DateTime.AddHours(Double) DateTime.AddHours(Double) DateTime.AddHours(Double) Method

Определение

Возвращает новый объект DateTime, добавляющий заданное число часов к значению данного экземпляра.Returns a new DateTime that adds the specified number of hours to the value of this instance.

public:
 DateTime AddHours(double value);
public DateTime AddHours (double value);
member this.AddHours : double -> DateTime
Public Function AddHours (value As Double) As DateTime

Параметры

value
Double Double Double Double

Число полных и неполных часов.A number of whole and fractional hours. Параметр value может быть положительным или отрицательным.The value parameter can be negative or positive.

Возвраты

Объект, значение которого равно сумме даты и времени, представленных текущим экземпляром, и количества часов, представленного параметром value.An object whose value is the sum of the date and time represented by this instance and the number of hours represented by value.

Исключения

Итоговое значение DateTime меньше MinValue или больше MaxValue.The resulting DateTime is less than MinValue or greater than MaxValue.

Примеры

В следующем примере используется AddHours метод для добавления на количество полных и неполных значений даты и времени.The following example uses the AddHours method to add a number of whole and fractional values to a date and time. Также показывает потерю точности, вызванная передачей в метод значением, которое содержит дробного компонента.It also illustrates the loss of precision caused by passing the method a value that includes a fractional component.

using System;

public class Example
{
   public static void Main()
   {
      double[] hours = {.08333, .16667, .25, .33333, .5, .66667, 1, 2, 
                        29, 30, 31, 90, 365};
      DateTime dateValue = new DateTime(2009, 3, 1, 12, 0, 0);
      
      foreach (double hour in hours)
         Console.WriteLine("{0} + {1} hour(s) = {2}", dateValue, hour, 
                           dateValue.AddHours(hour));

   }
}
// The example displays the following output on a system whose current
// culture is en-US:
//    3/1/2009 12:00:00 PM + 0.08333 hour(s) = 3/1/2009 12:04:59 PM
//    3/1/2009 12:00:00 PM + 0.16667 hour(s) = 3/1/2009 12:10:00 PM
//    3/1/2009 12:00:00 PM + 0.25 hour(s) = 3/1/2009 12:15:00 PM
//    3/1/2009 12:00:00 PM + 0.33333 hour(s) = 3/1/2009 12:19:59 PM
//    3/1/2009 12:00:00 PM + 0.5 hour(s) = 3/1/2009 12:30:00 PM
//    3/1/2009 12:00:00 PM + 0.66667 hour(s) = 3/1/2009 12:40:00 PM
//    3/1/2009 12:00:00 PM + 1 hour(s) = 3/1/2009 1:00:00 PM
//    3/1/2009 12:00:00 PM + 2 hour(s) = 3/1/2009 2:00:00 PM
//    3/1/2009 12:00:00 PM + 29 hour(s) = 3/2/2009 5:00:00 PM
//    3/1/2009 12:00:00 PM + 30 hour(s) = 3/2/2009 6:00:00 PM
//    3/1/2009 12:00:00 PM + 31 hour(s) = 3/2/2009 7:00:00 PM
//    3/1/2009 12:00:00 PM + 90 hour(s) = 3/5/2009 6:00:00 AM
//    3/1/2009 12:00:00 PM + 365 hour(s) = 3/16/2009 5:00:00 PM
Module Example
   Public Sub Main()
      Dim hours() As Double = {.08333, .16667, .25, .33333, .5, .66667, 1, 2, _
                             29, 30, 31, 90, 365}
      Dim dateValue As Date = #3/1/2009 12:00#
      
      For Each hour As Double In hours
         Console.WriteLine("{0} + {1} hour(s) = {2}", dateValue, hour, _
                           dateValue.AddHours(hour))
      Next                             
   End Sub
End Module
' The example displays the following output on a system whose current
' culture is en-US:
' 3/1/2009 12:00:00 PM + 0.08333 hour(s) = 3/1/2009 12:04:59 PM
' 3/1/2009 12:00:00 PM + 0.16667 hour(s) = 3/1/2009 12:10:00 PM
' 3/1/2009 12:00:00 PM + 0.25 hour(s) = 3/1/2009 12:15:00 PM
' 3/1/2009 12:00:00 PM + 0.33333 hour(s) = 3/1/2009 12:19:59 PM
' 3/1/2009 12:00:00 PM + 0.5 hour(s) = 3/1/2009 12:30:00 PM
' 3/1/2009 12:00:00 PM + 0.66667 hour(s) = 3/1/2009 12:40:00 PM
' 3/1/2009 12:00:00 PM + 1 hour(s) = 3/1/2009 1:00:00 PM
' 3/1/2009 12:00:00 PM + 2 hour(s) = 3/1/2009 2:00:00 PM
' 3/1/2009 12:00:00 PM + 29 hour(s) = 3/2/2009 5:00:00 PM
' 3/1/2009 12:00:00 PM + 30 hour(s) = 3/2/2009 6:00:00 PM
' 3/1/2009 12:00:00 PM + 31 hour(s) = 3/2/2009 7:00:00 PM
' 3/1/2009 12:00:00 PM + 90 hour(s) = 3/5/2009 6:00:00 AM
' 3/1/2009 12:00:00 PM + 365 hour(s) = 3/16/2009 5:00:00 PM

Комментарии

Этот метод не изменяет значение этой DateTime.This method does not change the value of this DateTime. Вместо этого он возвращает новый DateTime , значение которого является результатом этой операции.Instead, it returns a new DateTime whose value is the result of this operation. Kind Свойства возвращаемого DateTime объект является тем же, как и для value.The Kind property of the returned DateTime object is the same as that of value.

Дробная часть параметра value дробная часть часа.The fractional part of value is the fractional part of an hour. Например 4.5 соответствует 4 часа, 30 минут, 0 секунд, 0 миллисекунд и 0 квантам времени.For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks.

value Значения округляются до ближайшей миллисекунды.The value parameter is rounded to the nearest millisecond.

Преобразование интервалов времени для менее чем за час в дробную часть может приводить к потере точности, если результатом является бесконечно повторяющееся десятичное число.Converting time intervals of less than an hour to a fraction can involve a loss of precision if the result is a non-terminating repeating decimal. (Например, — одна минута 0.016667 часа.) Если это создает проблему, можно использовать Add метод, который позволяет указать более одного вида интервал времени в одном методе и избавляет от необходимости преобразовывать интервалы времени в дробной части часа.(For example, one minute is 0.016667 of an hour.) If this is problematic, you can use the Add method, which enables you to specify more than one kind of time interval in a single method call and eliminates the need to convert time intervals to fractional parts of an hour.

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

Дополнительно