DateDiff İşlevi

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

İki tarih arasındaki zaman aralıklarının sayısını belirten bir Variant (Long) döndürür.

Söz dizimi

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

İşlevin DateDiff aşağıdaki bağımsız değişkenleri vardır:

Bağımsız değişken Açıklama
interval Gerekli. Dize ifadesi, yani ve arasındaki date1date2farkı hesaplamak için kullandığınız zaman aralığıdır.
date1, date2 Gerekli. Variant (Tarih). Hesaplamada kullanmak istediğiniz iki tarih.
firstdayofweek İsteğe bağlı. Haftanın ilk gününü belirten sabit. Bunu belirtmezseniz, Pazar varsayılır.
firstweekofyear İsteğe bağlı. Yılın ilk haftasını belirten sabit. Bunu belirtmezseniz ilk hafta 1 Ocak'ın bulunduğu haftadır.

Ayarlar

Bağımsız interval değişken aşağıdaki ayarlara sahiptir:

Ayar Açıklama
yyyy Yıl
q Çeyrek
m Ay
y Yılın günü
d Gün
w Weekday
ww Hafta
h Saat
n Dakika
s Saniye

Bağımsız firstdayofweek değişken aşağıdaki ayarlara sahiptir:

Sabit Değer Açıklama
vbUseSystem 0 NLS API ayarını kullanır.
vbSunday 1 Pazar (varsayılan)
vbMonday 2 Pazartesi
vbTuesday 3 Salı
vbWednesday 4 Çarşamba
vbThursday 5 Perşembe
vbFriday 6 Cuma
vbSaturday 7 Cumartesi
Sabit Değer Açıklama
vbUseSystem 0 NLS API ayarını kullanır.
vbFirstJan1 1 1 Ocak'ın bulunduğu hafta ile başlar (varsayılan).
vbFirstFourDays 2 Yeni yılda en az dört gün olan ilk haftadan başlar.
vbFirstFullWeek 3 Yılın ilk tam haftasıyla başlar.

Açıklamalar

İki tarih arasında kaç tane belirtilen zaman aralığı olduğunu belirlemek için bu işlevi kullanabilirsiniz DateDiff . Örneğin, iki tarih arasındaki gün sayısını veya bugünle yıl sonu arasındaki hafta sayısını hesaplamak için kullanabilirsiniz DateDiff .

ile arasındaki date1date2gün sayısını hesaplamak için Yılın gününü ("y") veya Günü ("d") kullanabilirsiniz. Ne Zaman interval HaftanınGünü ("w"), DateDiff iki tarih arasındaki hafta sayısını verir. Pazartesi gününe denk gelirse date1 , DateDiff Pazartesi günlerinin sayısını 'ye kadar date2sayar. Sayılır date2 ama değil date1. Öte yandan Hafta ("ww") iseinterval, DateDiff işlev iki tarih arasındaki takvim haftalarının sayısını verir. arasındaki Pazar günlerini date1date2sayar. DateDiff date2 Pazar gününe denk gelirse sayar, ancak Pazar gününe denk gelse bile sayılmazdate1.

'den date2daha sonraki bir zaman noktasına başvurursadate1, DateDiff işlev negatif bir sayı verir.

Bağımsız firstdayofweek değişken, ve "ww" aralık simgelerini kullanan "w" hesaplamaları etkiler.

date2 Tarih date1 değişmez ise, belirtilen yıl o tarihin kalıcı bir parçası olur. Ancak, ve date2 çift tırnak işaretleri (" ") içine alınırsa ve yılı atlarsanızdate1, veya date2 ifadesi her hesaplandığında kodunuza date1 geçerli yıl eklenir. Bu, farklı yıllarda kullanabileceğiniz kod yazmayı mümkün kılar.

31 Aralık ile sonraki yılın 1 Ocak'ını karşılaştırdığınızda, DateDiff Yıl ("yyyy") için yalnızca bir gün geçmiş olsa bile 1 döndürür.

Not

Ve date2için date1 özellik ayarı Gregoryen iseCalendar, sağlanan tarih Gregoryen olmalıdır. Takvim Hicri ise, belirtilen tarih Hicri olmalıdır.

DateDiff Sorgusu örnekleri

İfade Sonuçlar
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; Tarih ile alandaki değerler DateofSale arasındaki 01/01/2010 yıl cinsinden farkı verir.
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Takvim yılına göre, sistem tarihi ile DateofSale, arasındaki farkı üç aylık dönemler halinde verir ve sütunda DaysSinceSale görüntüler.
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Sistem tarihi ile arasındaki gün cinsinden farkı verir ve DateofSalesütunda DaysSinceSale görüntüler.
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Sistem tarihi ile arasındaki gün cinsinden farkı verir ve DateofSalesütunda DaysSinceSale görüntüler.
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Hafta içi bazında, sistem tarihi ile DateofSale, arasındaki farkı verir ve sütunda DaysSinceSale görüntüler. Pazartesi gününe denk gelirse DateofSale , DateDiff sistem tarihine kadar olan Pazartesi günlerini sayar. Sistem tarihini sayar, ancak değeri saymaz DateofSale .
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; Takvim haftaları bazında sistem tarihi ile DateofSale, arasındaki farkı verir ve sütunda DaysSinceSale görüntüler. Sistem tarihi ile aradaki DateofSale Pazar günlerini sayar. Pazar gününe denk gelirse sistem tarihini sayar, ancak Pazar gününe denk gelse bile sayılmaz DateofSale.
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Sistem tarihi ile DateTime, arasındaki saat cinsinden farkı verir ve sütunda DaysSinceSale görüntüler.
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Sistem tarihi ile DateTimearasındaki farkı dakika cinsinden verir ve sütunda DaysSinceSale görüntüler.
SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; Sistem tarihi ile DateTimearasındaki saniye cinsinden farkı verir ve sütunda DaysSinceSale görüntüler.

İfadede DateDiff işlevini kullanma

İfadeleri kullanabildiğiniz her yerde fonksiyonu kullanabilirsiniz DateDiff . Örneğin, müşteri siparişlerini göndermek için kullandığınız bir formunuz olduğunu varsayalım. Siparişler tablosunda, müşterinin siparişi alması gereken tarihi içeren adlı ReceiveBefore bir alanınız vardır. Siparişin sevk edilmesi gereken gün sayısını görüntülemek için, DateDiff işlevi formdaki bir metin kutusuyla kullanabilirsiniz.

Herhangi bir siparişin gönderilmesinin on gün sürdüğünü varsayarsak, metin kutusunun Denetim Kaynağı özelliğini aşağıdaki gibi ayarlayın:

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

Formu Form Görünümü'nde açtığınızda, metin kutusunda siparişin gönderilmesine kalan gün sayısı görüntülenir. Müşterinin siparişi almasına 10 günden az bir süre kaldıysa, metin kutusundaki sayı negatiftir. Hemen gönderirseniz siparişin kaç gün gecikeceğini gösterir.

VBA kodunda DateDiff işlevini kullanma

Bu örnek, belirli bir tarih ile bugün arasındaki gün sayısını görüntülemek için işlevi kullanır DateDiff .

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

Ayrıca Bkz:

Doğru tarih işlevini seçme