Mengembalikan Varian (Panjang) yang menentukan jumlah interval waktu antara dua tanggal.
Sintaks
DateDiff(interval, date1, date2[, firstdayofweek][, firstweekofyear])
Fungsi ini DateDiff memiliki argumen berikut:
| Argumen | Deskripsi |
|---|---|
interval |
Diperlukan. Ekspresi string yang merupakan interval waktu yang Anda gunakan untuk menghitung selisih antara date1 dan date2. |
date1, date2 |
Diperlukan. varian (tanggal). Dua tanggal yang ingin Anda gunakan dalam penghitungan. |
firstdayofweek |
Opsional. Konstanta yang menentukan hari pertama dalam seminggu. Jika Anda tidak mencantumkannya, hari Minggu diasumsikan. |
firstweekofyear |
Opsional. Konstanta yang menentukan minggu pertama dalam setahun. Jika Anda tidak menentukannya, minggu pertama adalah minggu di mana 1 Januari terjadi. |
Pengaturan
Argumen ini interval memiliki pengaturan berikut:
| Pengaturan | Deskripsi |
|---|---|
yyyy |
Tahun |
q |
Kuartal |
m |
Bulan |
y |
Hari dalam setahun |
d |
Hari |
w |
Hari kerja |
ww |
Minggu |
h |
Jam |
n |
Menit |
s |
Detik |
Argumen ini firstdayofweek memiliki pengaturan berikut:
| Konstanta | Nilai | Deskripsi |
|---|---|---|
vbUseSystem |
0 | Menggunakan pengaturan NLS API. |
vbSunday |
1 | Minggu (default) |
vbMonday |
2 | Senin |
vbTuesday |
3 | Selasa |
vbWednesday |
4 | Rabu |
vbThursday |
5 | Kamis |
vbFriday |
6 | Jumat |
vbSaturday |
7 | Sabtu |
| Konstanta | Nilai | Deskripsi |
|---|---|---|
vbUseSystem |
0 | Menggunakan pengaturan NLS API. |
vbFirstJan1 |
1 | Dimulai dengan minggu di mana 1 Januari terjadi (default). |
vbFirstFourDays |
2 | Dimulai dengan minggu pertama yang memiliki setidaknya empat hari di tahun baru. |
vbFirstFullWeek |
3 | Dimulai dengan minggu penuh pertama tahun ini. |
Keterangan
Anda dapat menggunakan fungsi ini DateDiff untuk menentukan berapa banyak interval waktu tertentu yang ada di antara dua tanggal. Misalnya, Anda dapat menggunakan DateDiff untuk menghitung jumlah hari antara dua tanggal atau jumlah minggu antara hari ini dan akhir tahun.
Untuk menghitung jumlah hari antara date1 dan date2, Anda dapat menggunakan Hari dalam setahun ("y") atau Hari ("d"). Kapan interval adalah Hari Kerja ("w"), DateDiff menampilkan jumlah minggu di antara dua tanggal. Jika date1 jatuh pada hari Senin, DateDiff menghitung jumlah Senin hingga date2. Itu berarti date2 tetapi tidak date1.
interval Jika adalah Minggu ("ww"), namun, fungsi ini DateDiff mengembalikan jumlah minggu kalender di antara dua tanggal. Ini menghitung jumlah hari Minggu antara date1 dan date2.
DateDiff menghitung date2 jika jatuh pada hari Minggu, tetapi tidak dihitung date1, bahkan jika jatuh pada hari Minggu.
Jika date1 mengacu ke titik waktu yang lebih baru dari date2, fungsi mengembalikan DateDiff angka negatif.
Argumen memengaruhi firstdayofweek penghitungan yang menggunakan "w""ww" simbol dan interval.
Jika date1 atau date2 merupakan tanggal literal, tahun yang ditentukan menjadi bagian permanen dari tanggal tersebut. Namun, jika date1 atau date2 diapit dalam tanda kutip ganda (" "), dan Anda menghilangkan tahun, tahun ini disisipkan ke dalam kode Anda setiap kali date1 ekspresi atau date2 dievaluasi. Ini memungkinkan untuk menulis kode yang dapat Anda gunakan di tahun yang berbeda.
Jika Anda membandingkan 31 Desember dengan 1 Januari tahun berikutnya, DateDiff untuk Tahun ("yyyy") mengembalikan 1 meskipun hanya satu hari telah berlalu.
Catatan
For date1 and date2, jika Calendar pengaturan properti adalah Gregorian, tanggal yang diberikan harus Gregorian. Jika kalendernya adalah Hijriah, tanggal yang diberikan haruslah Hijriah.
Contoh kueri DateDiff
| Ekspresi | Hasil |
|---|---|
SELECT DateDiff("yyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductSales; |
Mengembalikan perbedaan, dalam tahun, antara tanggal 01/01/2010 dan nilai dalam DateofSale bidang. |
SELECT DateDiff("q",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam kuartal berdasarkan tahun kalender, antara tanggal sistem dan DateofSale, dan menampilkannya dalam DaysSinceSale kolom. |
SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam hari, antara tanggal sistem dan DateofSale, dan menampilkannya dalam DaysSinceSale kolom. |
SELECT DateDiff("d",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam hari, antara tanggal sistem dan DateofSale, dan menampilkannya dalam DaysSinceSale kolom. |
SELECT DateDiff("w",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam hari kerja, antara tanggal sistem dan DateofSale, dan menampilkannya dalam DaysSinceSale kolom. Jika DateofSale jatuh pada hari Senin, DateDiff menghitung jumlah hari Senin hingga tanggal sistem. Fitur ini menghitung tanggal sistem, tetapi bukan nilainya DateofSale . |
SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam minggu kalender, antara tanggal sistem dan DateofSale, dan menampilkannya dalam DaysSinceSale kolom. Ini menghitung jumlah hari Minggu antara DateofSale dan tanggal sistem. Ini menghitung tanggal sistem jika jatuh pada hari Minggu, tetapi tidak dihitung DateofSale, bahkan jika jatuh pada hari Minggu. |
SELECT DateDiff("h",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam jam, antara tanggal sistem dan DateTime, dan menampilkannya dalam DaysSinceSale kolom. |
SELECT DateDiff("n",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam menit, antara tanggal sistem dan DateTime, dan menampilkannya dalam DaysSinceSale kolom. |
SELECT DateDiff("s",[DateTime],Date()) AS DaysSinceSale FROM ProductSales; |
Mengembalikan perbedaan, dalam detik, antara tanggal sistem dan DateTime, dan menampilkannya dalam DaysSinceSale kolom. |
Menggunakan fungsi DateDiff dalam ekspresi
Anda dapat menggunakan fungsi ini DateDiff di mana saja Anda dapat menggunakan ekspresi. Sebagai contoh, misalnya Anda memiliki formulir yang digunakan untuk memenuhi pesanan pelanggan. Dalam tabel Pesanan, Anda memiliki bidang bernama ReceiveBefore yang berisi tanggal pelanggan perlu menerima pesanan. Anda dapat menggunakan fungsi dengan DateDiff kotak teks pada formulir untuk menampilkan jumlah hari yang tersisa sebelum pesanan harus dikirim.
Dengan asumsi diperlukan sepuluh hari untuk mengirimkan pesanan apa pun, atur properti Sumber Kontrol kotak teks sebagai berikut:
=DateDiff("d", Now(), [Orders].[ReceiveBefore])-10
Saat Anda membuka formulir dalam Tampilan Formulir, kotak teks menampilkan jumlah hari yang tersisa sebelum pesanan harus dikirim. Jika kurang dari 10 hari tersisa sebelum pelanggan perlu menerima pesanan, angka dalam kotak teks adalah negatif. Ini menunjukkan berapa hari terlambat pesanan jika Anda segera mengirimkannya.
Gunakan fungsi DateDiff dalam kode VBA
Contoh ini menggunakan fungsi untuk DateDiff menampilkan jumlah hari antara tanggal yang ditetapkan dan hari ini.
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg