다음을 통해 공유


DateTimeOffset.AddDays(Double) 메서드

정의

이 인스턴스의 값에 지정된 정수 및 소수 자릿수 일 수를 추가하는 새 DateTimeOffset 개체를 반환합니다.

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

매개 변수

days
Double

전체 및 소수 자릿수 일 수입니다. 숫자는 음수이거나 양수일 수 있습니다.

반품

값이 현재 DateTimeOffset 개체가 나타내는 날짜 및 시간의 합계와 나타내는 일 days수입니다.

예외

결과 DateTimeOffset 값이 DateTimeOffset.MinValue보다 작습니다.

-또는-

결과 DateTimeOffset 값이 DateTimeOffset.MaxValue보다 큽니다.

예제

다음 예제에서는 이 메서드를 사용하여 AddDays 2008년 3월 작업 주의 시작인 월요일에 해당하는 날짜를 나열합니다.

DateTimeOffset workDay = new DateTimeOffset(2008, 3, 1, 9, 0, 0,
                   DateTimeOffset.Now.Offset);
int month = workDay.Month;
// Start with the first Monday of the month
if (workDay.DayOfWeek != DayOfWeek.Monday)
{
   if (workDay.DayOfWeek == DayOfWeek.Sunday)
      workDay = workDay.AddDays(1);
   else
      workDay = workDay.AddDays(8 - (int)workDay.DayOfWeek);
}
Console.WriteLine("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay);
// Add one week to the current date
do
{
   Console.WriteLine("   {0:dddd}, {0:MMMM}{0: d}", workDay);
   workDay = workDay.AddDays(7);
} while (workDay.Month == month);
// The example produces the following output:
//    Beginning of Work Week In March 2008:
//       Monday, March 3
//       Monday, March 10
//       Monday, March 17
//       Monday, March 24
//       Monday, March 31
let workDay = DateTimeOffset(2008, 3, 1, 9, 0, 0, DateTimeOffset.Now.Offset)
let month = workDay.Month

// Start with the first Monday of the month
let mutable workDay = 
    match workDay.DayOfWeek with
    | DayOfWeek.Monday ->
        workDay
    | DayOfWeek.Sunday ->
        workDay.AddDays 1
    | _ ->
        workDay.AddDays(8. - float workDay.DayOfWeek)

printfn $"Beginning of Work Week In {workDay:MMMM} {workDay:yyyy}:"

// Add one week to the current date
while workDay.Month = month do
    printfn $"   {workDay:dddd}, {workDay:MMMM}{workDay: d}"
    workDay <- workDay.AddDays 7

// The example produces the following output:
//    Beginning of Work Week In March 2008:
//       Monday, March 3
//       Monday, March 10
//       Monday, March 17
//       Monday, March 24
//       Monday, March 31
Dim workDay As New DateTimeOffset(#3/1/2008 9:00AM#, _
                   DateTimeOffset.Now.Offset)
Dim month As Integer = workDay.Month
' Start with the first Monday of the month
If workDay.DayOfWeek <> DayOfWeek.Monday Then
   If workDay.DayOfWeek = DayOfWeek.Sunday Then
      workDay = workDay.AddDays(1)
   Else   
      workDay = workDay.AddDays(8 - CInt(workDay.DayOfWeek))
   End If
End If
Console.WriteLine("Beginning of Work Week In {0:MMMM} {0:yyyy}:", workDay)
' Add one week to the current date 
Do While workDay.Month = month
   Console.WriteLine("   {0:dddd}, {0:MMMM}{0: d}", workDay)
   workDay = workDay.AddDays(7)
Loop        
' The example produces the following output:
'    Beginning of Work Week In March 2008:
'       Monday, March 3
'       Monday, March 10
'       Monday, March 17
'       Monday, March 24
'       Monday, March 31

설명

매개 변수의 days 소수 부분은 하루의 소수 부분입니다. 예를 들어 4.5는 4일, 12시간, 0분, 0초, 0밀리초와 같습니다.

.NET Framework days 에서 매개 변수는 가장 가까운 밀리초로 반올림됩니다. .NET 7 이상 버전에서는 매개 변수의 전체 Double 전체 자릿수가 days 사용됩니다. 그러나 부동 소수점 수학의 내재된 부정확성으로 인해 결과 정밀도는 달라집니다.

메모

이 메서드는 새 DateTimeOffset 개체를 반환합니다. 날짜 및 시간에 추가하여 days 현재 개체의 값을 수정하지 않습니다.

개체가 DateTimeOffset 특정 표준 시간대 AddDays 의 날짜 및 시간을 나타내지 않으므로 날짜 및 시간 산술 연산을 수행할 때 메서드는 특정 표준 시간대의 조정 규칙을 고려하지 않습니다.

하루 미만의 시간 간격을 분수로 변환하면 정밀도 손실이 포함될 수 있습니다. 문제가 있는 경우 메서드를 Add 사용하면 단일 메서드 호출에서 둘 이상의 시간 간격을 지정할 수 있으며 시간 간격을 하루의 소수 부분으로 변환할 필요가 없습니다.

적용 대상