DateTime.AddHours(Double) 메서드

정의

지정된 시간 수를 이 인스턴스의 값에 더하는 새 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

정수 및 소수로 계산된 시간 수입니다.A number of whole and fractional hours. value 매개 변수는 음수일 수도 있고 양수일 수도 있습니다.The value parameter can be negative or positive.

반환

DateTime

이 인스턴스가 나타내는 날짜 및 시간과 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.

예외

결과는 DateTimeMinValue보다 작거나 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. 반환 된 DateTime 개체의 Kind 속성은 value와 동일 합니다.The Kind property of the returned DateTime object is the same as that of value.

value의 소수 부분은 1 시간의 소수 부분입니다.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.

결과 종료 되지 않는 반복 10 진수 이면 일부분으로 1 시간 미만 동안 시간 간격을 변환 하면 정밀도 손실이 될 수 있습니다.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. 예를 들어 1 분은 1 시간의 0.016667입니다. 문제가 발생 하는 경우에는 Add 메서드를 사용 하 여 단일 메서드 호출에서 여러 종류의 시간 간격을 지정 하 고 시간 간격을 1 시간의 소수 부분으로 변환할 필요가 없습니다.(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.

적용 대상

추가 정보