지정된 두 날짜 간의 시간 간격 수를 지정하는 Variant(Long)를 반환합니다.

구문

DateDiff(interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

DateDiff 함수 구문에는 다음 인수가 있습니다.

팁:  Access 2010에서 식 작성기에는 IntelliSense 있으므로 식에 필요한 인수를 볼 수 있습니다. 

인수

설명

interval

필수 요소입니다. date1과 date2 사이의 차이를 계산하는 데 사용하는 시간 간격인 문자열 식입니다.

date1, date2

필수 요소입니다. 변형(날짜). 계산에 사용할 두 날짜입니다.

firstdayofweek

선택 사항입니다. 상수 첫 번째 날을 지정하는 1개입니다. 지정하지 않으면 일요일이 가정됩니다.

firstweekofyear

선택 사항입니다. 연도의 첫 주를 지정하는 상수입니다. 지정하지 않으면 첫 번째 주가 1월 1일이 발생하는 주로 가정됩니다.

설정

간격 인수 설정이 있습니다.

설정

설명

yyyy

연도

q

분기

m

y

연도의 날

d

w

Weekday

ww

h

시간

n

s

번째dayofweek 인수에는 다음 설정이 있습니다.

상수

설명

vbUseSystem

0

NLS API 설정을 사용 합니다.

vbSunday

1

일요일(기본값)

vbMonday

2

월요일

vbTuesday

3

화요일

vbWednesday

4

수요일

vbThursday

5

목요일

vbFriday

6

금요일

vbSaturday

7

토요일

상수

설명

vbUseSystem

0

NLS API 설정을 사용 합니다.

vbFirstJan1

1

1월 1일이 발생하는 주(기본값)로 시작합니다.

vbFirstFourDays

2

새해에 적어도 4일이 있는 첫 번째 주부터 시작합니다.

vbFirstFullWeek

3

연도의 첫 번째 전체 주로 시작합니다.

주의

DateDiff 함수를 사용하여 두 날짜 사이에 지정된 시간 간격이 얼마나 있는지 확인할 수 있습니다. 예를 들어 DateDiff를 사용하여 두 날짜 사이의 일 수 또는 오늘과 연말 사이의 주 수를 계산할 수 있습니다.

date1과 date2 사이의 일 수를 계산하기 위해 연도("y") 또는 Day("d")를 사용할 수 있습니다. 간격이 평일("w")인 경우 DateDiff는 두 날짜 사이의 주 수를 반환합니다. date1이 월요일에 있는 경우 DateDiff는 날짜2까지 월요일의 수를 계산합니다.date2를 계산하지만 date1은 계산하지 않습니다. 그러나 간격이 주("ww")인 경우 DateDiff 함수는 두 날짜 사이의 달력 주 수를 반환합니다. date1과 date2 사이의 일요일 수를 계산합니다.DateDiff는 일요일에 해당하면 date2를 계산합니다. 하지만 날짜1은일요일에 해당하지 않는 경우에도 계산되지 않습니다.

date1이 date2보다 후기 시점을 참조하는 경우 DateDiff 함수는 음수(음수)를 반환합니다.

번째dayofweek 인수는 "w" 및 "ww" 간격 기호를 사용하는 계산에 영향을 미치게 됩니다.

date1 또는 date2가날짜 리터럴 경우 지정된 연도는 해당 날짜의 영구 부분이 됩니다. 그러나 date1 또는 date2가 두 배 인용 부호(" ")로 묶인 경우 연도는 날짜1 또는 date2 식이 평가될 때마다 코드에 삽입됩니다. 이렇게 하면 다른 연도에 사용할 수 있는 코드를 작성할 수 있습니다.

직후 연도의 12월 31일과 1월 1일을 비교할 때 DateDiff for Year("yyyyy")는 하루만 경과한 경우에도 1을 반환합니다.

참고:  date1 date2의 경우 일정 속성 설정이 Gregorian인 경우 제공된 날짜는 Gregorian이 되어야 합니다. 일정이 Hijri인 경우 제공된 날짜는 Hijri입니다.

DateDiff 쿼리 예제

결과

SELECT DateDiff("yyyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales;

Date2와 Date1(Date1을 가장 오래된 날짜로, Date2를 최신으로 고려)의 차이를 '년'으로 반환합니다. 결과: "DateofSale" 필드의 값과 날짜 "01/01/2010"을 '년'의 수로 차이를 나타냅니다.

SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateofSale"의 차이를 '분기'(연도 기준)로 반환하고 "DaysSinceSale" 열에 표시됩니다. 시스템 날짜와 "DateofSale"의 차이를 'Months'로 반환하고 "DaysSinceSale" 열에 표시됩니다.

SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateofSale"의 차이를 'Days'의 수로 반환하고 "DaysSinceSale"열에 표시됩니다.

SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateofSale"의 차이를 'Days'의 수로 반환하고 "DaysSinceSale"열에 표시됩니다.

SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateofSale"의 차이를 'Weekdays'의 수로 반환하고 "DaysSinceSale" 열에 표시됩니다. "DateofSale"이 월요일에 있는 경우 DateDiff는 시스템 날짜까지 월요일의 수를 계산합니다. 시스템 날짜를 계산하지만 "DateofSale"의 값은 계산하지 않습니다.

SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateofSale"의 차이점을 "Calender Weeks"의 수로 반환하고 "DaysSinceSale"열에 표시됩니다. "DateofSale"과 "시스템 날짜"의 일요일 수를 계산합니다. 일요일에 해당하면 시스템 날짜를 계산합니다. 하지만 일요일에 떨어지는 경우에도 "DateofSale"은 계산하지 않습니다.

SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateTime"의 차이를 '시간'으로 반환하고 "DaysSinceSale" 열에 표시됩니다.

SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateTime"의 차이를 '분'의 수로 반환하고 "DaysSinceSale" 열에 표시됩니다.

SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

시스템 날짜와 "DateTime"의 차이를 '초'로 반환하고 "DaysSinceSale" 열에 표시됩니다.

식 예제

식에서 DateDiff 함수 사용     식을 사용할 수 있는 모든 곳에서 DateDiff 함수를 사용할 수 있습니다. 예를 들어 고객 주문을 이행하는 데 사용하는 양식이 있는 경우를 가정해 보겠습니다. 주문 테이블에는 고객이 주문을 수령해야 하는 날짜를 포함하는 ReceiveBefore라는 필드가 있습니다. DateDiff 함수를 폼의 텍스트 상자와 함께 사용하여 주문이 배송되기 전에 남은 일 수를 표시할 수 있습니다.

주문을 배송하는 데 10일이 소요된다고 생각하면 다음과 같이 텍스트 상자의 Control Source 속성을 설정합니다.

=DateDiff("d", Now(), [Orders].[ ReceiveBefore])-10

양식 보기에서 폼을 열면 텍스트 상자에 주문이 배송되기 전에 남은 일 수가 표시됩니다. 고객이 주문을 수신해야 하기까지 10일 미만이 남은 경우 텍스트 상자의 숫자는 음수로 표시하고 주문이 즉시 배송된 경우 얼마나 늦게 될지 나타냅니다.

VBA 예제

VBA 코드에서 DateDiff 함수 사용    

이 예제에서는 DateDiff 함수를 사용하여 주어진 날짜와 오늘 사이의 일 수를 표시합니다.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

적절한 날짜 함수 선택

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Office 참가자 참가

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

의견 주셔서 감사합니다!

×