Applies ToMicrosoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

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

구문

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

DateDiff 함수 구문에는 다음과 같은 인수가 사용됩니다.

인수

설명

interval

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

date1, date2

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

firstdayofweek

선택 요소입니다. 요일을 지정하는 상수. 지정하지 않으면 일요일이 가정됩니다.

firstweekofyear

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

설정

인수 간격 에는 다음과 같은 설정이 있습니다.

설정

설명

yyyy

q

분기

m

y

연중 일

d

w

Weekday

ww

h

시간

n

s

firstdayofweek 인수에는 다음 설정이 있습니다.

상수

설명

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") 또는 일("d")을 사용할 수 있습니다. interval이 Weekday("w")인 경우 DateDiff는 두 날짜 사이의 주 수를 반환합니다. date1이 월요일에 속하는 경우 DateDiffdate2까지의 월요일 수를 계산합니다. date2는 계산되지만 date1은 계산되지 않습니다. 그러나 interval 이 Week("ww")인 경우 DateDiff 함수는 두 날짜 사이의 달력 주 수를 반환합니다. date1date2 사이의 일요일 수를 계산합니다. DateDiff 는 일요일에 속하는 경우 date2 를 계산합니다. 그러나 일요일에 떨어지더라도 date1은 계산되지 않습니다.

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

firstdayofweek 인수는 "w" 및 "ww" 간격 기호를 사용하는 계산에 영향을 줍니다.

date1 또는 date2가 날짜 리터럴 경우 지정된 연도는 해당 날짜의 영구적인 부분이 됩니다. 그러나 date1 또는 date2 가 큰따옴표(" ")로 묶이고 연도를 생략하면 date1 또는 date2 식이 계산될 때마다 현재 연도가 코드에 삽입됩니다. 이렇게 하면 다른 연도에 사용할 수 있는 코드를 작성할 수 있습니다.

바로 다음 해의 12월 31일과 1월 1일을 비교할 때 DateDiff for Year("yyyy")는 하루만 경과했음에도 불구하고 1을 반환합니다.

참고:  date1 date2의 경우 Calendar 속성 설정이 그레고리력인 경우 제공된 날짜는 그레고리력이어야 합니다. 일정이 Hijri인 경우 제공된 날짜는 Hijri여야 합니다.

DateDiff 쿼리 예제

Expression

결과

SELECT DateDiff("yyyy",#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"의 차이를 'Quarters' 수(계산기 연도 기준)로 반환하고 열 "DaysSinceSale"에 표시됩니다. 는 시스템 날짜와 "DateofSale"의 차이를 '월' 수로 반환하고 열 "DaysSinceSale"에 표시됩니다.

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

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

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

시스템 날짜와 "DateofSale"의 차이를 '일' 수로 반환하고 열 "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 Week" 수로 반환하고 열 "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일이 걸린다는 가정은 다음과 같이 텍스트 상자의 제어 원본 속성을 설정합니다.

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

양식 보기에서 양식을 열면 주문이 발송되기까지 남은 일 수가 텍스트 상자에 표시됩니다. 고객이 주문을 받기까지 10일이 채 남지 않은 경우 텍스트 상자의 숫자는 음수이며 주문이 즉시 배송되는 경우 주문이 얼마나 늦은지 나타냅니다.

VBA 예제

VBA 코드에서 DateDiff 함수 사용    

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

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

참고 항목

적절한 날짜 함수 선택

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.