DateTimeOffset.AddDays(Double) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
정수 및 소수로 계산된 지정된 시간 수를 이 인스턴스의 값에 더하는 새 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보다 작습니다.
또는
예제
다음 예제에서는 메서드를 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 6 이전 버전 days
에서는 매개 변수가 가장 가까운 밀리초로 반올림됩니다. .NET 7 이상 버전에서는 매개 변수의 전체 Double 전체 자릿수가 days
사용됩니다. 그러나 부동 소수점 수학의 내재된 부정확성으로 인해 결과 정밀도는 달라집니다.
참고
이 메서드는 새 DateTimeOffset 개체를 반환합니다. 날짜 및 시간에 를 추가하여 days
현재 개체의 값을 수정하지 않습니다.
개체가 DateTimeOffset 특정 표준 시간대 AddDays 의 날짜 및 시간을 나타내지 않으므로 메서드는 날짜 및 시간 산술 연산을 수행할 때 특정 표준 시간대의 조정 규칙을 고려하지 않습니다.
하루 미만의 시간 간격을 분수로 변환하면 정밀도 손실이 포함될 수 있습니다. 문제가 있는 경우 메서드를 Add 사용하면 단일 메서드 호출에서 둘 이상의 시간 간격을 지정할 수 있으며 시간 간격을 하루의 소수 부분으로 변환할 필요가 없습니다.
적용 대상
.NET