두 날짜 사이의 시간 간격 수를 지정하는 변형 (long)을 반환합니다.
구문
DateDiff(interval, date1, date2[, firstdayofweek][, firstweekofyear])
함수에는 DateDiff 다음과 같은 인수가 있습니다.
| 인수 | 설명 |
|---|---|
interval |
필수 요소입니다. 와 date2의 date1 차이를 계산하는 데 사용하는 시간 간격인 문자열 식입니다. |
date1, date2 |
필수 요소입니다. 변형 (날짜). 계산에 사용할 두 개의 날짜입니다. |
firstdayofweek |
선택 요소입니다. 요일의 첫 번째 요일을 지정하는 상수입니다. 지정하지 않으면 일요일로 간주됩니다. |
firstweekofyear |
선택 요소입니다. 연도의 첫 번째 주를 지정하는 상수입니다. 지정하지 않으면 첫 번째 주는 1월 1일이 발생하는 주가 됩니다. |
설정
interval 인수의 설정은 다음과 같습니다.
| 설정 | 설명 |
|---|---|
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 수 있습니다.
와 date2사이의 date1 일 수를 계산하려면 일("y") 또는 일("d")을 사용할 수 있습니다. Weekday("w") DateDiff 인 경우 interval 두 날짜 사이의 주 수를 반환합니다. 월요일에 해당하는 경우 date1DateDiff 다음 날짜까지의 월요일 수를 계산합니다.date2 그것은 중요하지만 그렇지 date2 않습니다 date1. 그러나 Week ("ww")인 경우 interval 함수는 DateDiff 두 날짜 사이의 달력 주 수를 반환합니다. 과 사이의 date1 일요일 수를 계산합니다 date2.
DateDiff 일요일에 해당하는 경우에는 계산 date2 되지 않지만 일요일에 해당하는 경우에도 계산 date1되지 않습니다.
보다 나중 시점date2을 참조하는 경우 date1 함수는 DateDiff 음수를 반환합니다.
firstdayofweek 이 인수는 간격 기호를 "ww" 사용하는 계산에 영향을 줍니다."w"
또는 가 date2 날짜 리터럴인 경우 date1 지정된 연도는 해당 날짜의 영구적인 부분이 됩니다. 그러나 or date2 를 date1 큰따옴표(" ")로 묶고 연도를 생략하면 OR date2 식이 계산될 때마다 date1 현재 연도가 코드에 삽입됩니다. 이를 통해 다른 연도에 사용할 수 있는 코드를 작성할 수 있습니다.
12월 31일과 다음 해 DateDiff 1월 1일을 비교할 때 연도("yyyy")는 하루밖에 지났지 않더라도 1을 반환합니다.
참고
및 date2의 경우date1, 속성 설정이 Calendar 양력인 경우 제공된 날짜는 양력이어야 합니다. 일정이 회교식인 경우 제공된 날짜는 회교식이어야 합니다.
DateDiff 쿼리 예제
| Expression | 결과 |
|---|---|
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; |
날짜 01/01/2010 와 필드의 값 사이의 차이(년)를 반환합니다.DateofSale |
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
시스템 날짜 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와 의 차이를 평일에 반환하여 열에 DaysSinceSale 표시합니다. 월요 DateDiff 일인 경우 DateofSale 시스템 날짜까지의 월요일 수를 계산합니다. 시스템 날짜는 계산하지만 값은 계산하지 않습니다 DateofSale . |
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
시스템 날짜 DateofSale와 의 차이를 주 단위로 반환하여 열에 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 코드에서 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