DateAdd 함수(Visual Basic)

업데이트: 2007년 11월

지정된 시간 간격을 더한 날짜 및 시간 값이 들어 있는 Date 값을 반환합니다.

Public Overloads Function DateAdd( _
ByVal Interval As DateInterval, _
ByVal Number As Double, _
ByVal DateValue As DateTime _
) As DateTime
' -or-
Public Overloads Function DateAdd( _
ByVal Interval As String, _
ByVal Number As Double, _
ByVal DateValue As Object _
) As DateTime

매개 변수

  • Interval
    필수 요소. 더할 시간 간격을 나타내는 DateInterval 열거형 값 또는 String 식입니다.

  • Number
    필수 요소. Double 형식입니다. 더할 간격의 수를 나타내는 부동 소수점 식입니다. Number는 미래의 날짜/시간 값을 구하는 경우에는 양수이며 과거의 날짜/시간 값을 구하는 경우에는 음수입니다. Number의 소수 부분은 무시됩니다.

  • DateValue
    필수 요소. Date 형식입니다. 간격을 추가할 날짜와 시간을 나타내는 식입니다. DateValue 자체는 호출 프로그램에서 변경되지 않습니다.

설정

Interval 인수의 설정은 다음과 같습니다.

열거형 값

문자열

추가할 시간 간격의 단위

DateInterval.Day

d

일; 정수 계열 값으로 잘립니다.

DateInterval.DayOfYear

y

일; 정수 계열 값으로 잘립니다.

DateInterval.Hour

h

시; 정수 계열 값으로 잘립니다.

DateInterval.Minute

n

분; 정수 계열 값으로 잘립니다.

DateInterval.Month

m

월; 정수 계열 값으로 잘립니다.

DateInterval.Quarter

q

분기; 정수 계열 값으로 잘립니다.

DateInterval.Second

s

초; 정수 계열 값으로 잘립니다.

DateInterval.Weekday

w

일; 정수 계열 값으로 잘립니다.

DateInterval.WeekOfYear

ww

주; 정수 계열 값으로 잘립니다.

DateInterval.Year

yyyy

년; 정수 계열 값으로 잘립니다.

예외

예외 형식

오류 번호

조건

InvalidCastException

13

DateValue가 Date로 강제 변환될 수 없습니다.

ArgumentException

5

Interval이 잘못되었습니다.

ArgumentOutOfRangeException

9

계산된 날짜가 0001년 1월 1일 00:00:00시 이전 또는 9999년 12월 31일 23:59:59시 이후입니다.

비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.

설명

DateAdd 함수를 사용하여 지정된 시간 간격을 날짜에 더하거나 날짜에서 뺄 수 있습니다. 예를 들어, 오늘부터 30일 후의 날짜나 현재 시간에서 45분 전의 시간을 계산할 수 있습니다.

DateValue에 날짜를 추가하려면 DateInterval.Day, DateInterval.DayOfYear 또는 DateInterval.Weekday를 사용합니다. 이 두 가지는 DayOfYear와 Weekday의 시간 간격이 의미가 없으므로 동일하게 처리됩니다.

DateAdd는 언제나 유효한 날짜 값을 반환합니다. 필요한 경우 결과 날짜의 일 부분은 결과 년의 월에서 가장 마지막 날짜로 하향 조정됩니다. 다음 예제에서는 1월 31일에 한 달을 더합니다.

Dim NextMonth As Date = DateAdd(DateInterval.Month, 1, #1/31/1995#)

이 예제에서 DateAdd는 #2/31/1995#이 아닌 #2/28/1995#을 반환합니다. DateValue가 #1/31/1996#이면 1996년은 윤년이므로 #2/29/1996#을 반환합니다.

참고:

DateAdd는 System.Globalization 네임스페이스의 CultureInfo 클래스에 대한 CurrentCulture 속성의 현재 달력 설정을 사용합니다. 기본 CurrentCulture 값은 제어판의 설정에 따라 결정됩니다.

DateTime 구조체는 모든 Date 값을 지원하므로 해당 메서드에는 시간 간격을 더하는 데 사용할 수 있는 추가 옵션이 있습니다. 예를 들어, 다음과 같이 날짜 수의 소수 부분을 가장 가까운 밀리초로 반올림하여 Date 변수에 더할 수 있습니다.

Dim NextTime As Date = Now        ' Current date and time.
NextTime = NextTime.AddDays(3.4)  ' Increment by 3 2/5 days.

예제

다음 예제에서는 DateAdd 함수를 사용하여 입력된 날짜에서 지정된 개월 수 이후의 날짜를 표시합니다.

Dim Msg, Number, StartDate As String   'Declare variables.
Dim Months As Double
Dim SecondDate As Date
Dim IntervalType As DateInterval
IntervalType = DateInterval.Month   ' Specifies months as interval.
StartDate = InputBox("Enter a date")
SecondDate = CDate(StartDate)
Number = InputBox("Enter number of months to add")
Months = Val(Number)
Msg = "New date: " & DateAdd(IntervalType, Months, SecondDate)
MsgBox(Msg)

요구 사항

네임스페이스: Microsoft.VisualBasic

**모듈:**DateAndTime

**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

참고 항목

참조

DateDiff 함수(Visual Basic)

DatePart 함수(Visual Basic)

Day 함수(Visual Basic)

Format 함수

Now 속성

Weekday 함수(Visual Basic)

Year 함수(Visual Basic)

Date 데이터 형식(Visual Basic)

System