DateTimeOffset.AddHours(Double) 메서드

정의

정수 및 소수로 계산된 지정된 시간 수를 이 인스턴스의 값에 더하는 새 DateTimeOffset 개체를 반환합니다.Returns a new DateTimeOffset object that adds a specified number of whole and fractional hours to the value of this instance.

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

매개 변수

hours
Double

정수 및 소수로 계산된 시간 수입니다.A number of whole and fractional hours. 숫자는 음수가 될 수도 있고 양수가 될 수도 있습니다.The number can be negative or positive.

반환

값이 현재 DateTimeOffset 개체가 나타내는 날짜 및 시간과 hours가 나타내는 시간 수의 합인 개체입니다.An object whose value is the sum of the date and time represented by the current DateTimeOffset object and the number of hours represented by hours.

예외

결과 DateTimeOffset 값이 MinValue보다 작습니다.The resulting DateTimeOffset value is less than MinValue.

-또는--or- 결과 DateTimeOffset 값이 MaxValue보다 큽니다.The resulting DateTimeOffset value is greater than MaxValue.

예제

다음 예제에서는 AddHours 메서드를 사용 하 여 하루에 2 8 시간이 이동 하는 사무실의 특정 주에 대 한 작업 교대 시간의 시작 시간을 나열 합니다.The following example uses the AddHours method to list the start times of work shifts for a particular week at an office that has two eight-hour shifts per day.

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                 
Const SHIFT_LENGTH As Integer = 8

Dim startTime As New DateTimeOffset(#8/6/2007 12:00:00AM#, _
                     DateTimeOffset.Now.Offset)
Dim startOfShift As DateTimeOffset = startTime.AddHours(SHIFT_LENGTH)

Console.WriteLine("Shifts for the week of {0:D}", startOfShift)                           
Do 
   ' Exclude third shift
   If startOfShift.Hour > 6 Then _
      Console.WriteLine("   {0:d} at {0:T}", startOfShift)

   startOfShift = startOfShift.AddHours(SHIFT_LENGTH)
Loop While startOfShift.DayOfWeek <> DayOfWeek.Saturday And _
           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 매개 변수의 소수 부분은 1 시간의 소수 부분입니다.The fractional part of the hours parameter is the fractional part of an hour. 예를 들어 4.5는 4 시간, 30 분을 0 초를 0 시간 (밀리초)와 동일 합니다.For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds. hours 매개 변수는 가장 가까운 밀리초로 반올림 됩니다.The hours parameter is rounded to the nearest millisecond.

참고

이 메서드는 새 DateTimeOffset 개체를 반환 합니다.This method returns a new DateTimeOffset object. 날짜 및 시간에 hours을 추가 하 여 현재 개체의 값을 수정 하지 않습니다.It does not modify the value of the current object by adding hours to its date and time.

DateTimeOffset 개체는 특정 표준 시간대의 날짜와 시간을 나타내지 않으므로 AddHours 메서드는 날짜 및 시간 산술 연산을 수행할 때 특정 표준 시간대의 조정 규칙을 고려 하지 않습니다.Because a DateTimeOffset object does not represent the date and time in a specific time zone, the AddHours method does not consider a particular time zone's adjustment rules when it performs date and time arithmetic.

일부분으로 1 시간 미만 동안 시간 간격을 변환 하면 정밀도 손실이 될 수 있습니다.Converting time intervals of less than an hour to a fraction can involve a loss of precision. 예를 들어 1 분은 1 시간의 0.01666입니다. 문제가 발생 하는 경우에는 Add 메서드를 사용 하 여 단일 메서드 호출에서 여러 종류의 시간 간격을 지정 하 고 시간 간격을 1 시간의 소수 부분으로 변환할 필요가 없습니다.(For example, one minute is 0.01666 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.

적용 대상

추가 정보