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 |
년; 정수 계열 값으로 잘립니다. |
예외
예외 형식 |
오류 번호 |
조건 |
---|---|---|
DateValue가 Date로 강제 변환될 수 없습니다. |
||
Interval이 잘못되었습니다. |
||
계산된 날짜가 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)