DateAndTime.DateDiff Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan nilai yang menentukan jumlah interval waktu di antara dua Date
nilai.
Overload
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
Mengurangi |
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
Mengurangi |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Sumber:
- DateAndTime.vb
- Sumber:
- DateAndTime.vb
- Sumber:
- DateAndTime.vb
Mengurangi Date1
dari Date2
untuk memberikan nilai panjang yang menentukan jumlah interval waktu antara dua Date
nilai.
public static long DateDiff (Microsoft.VisualBasic.DateInterval Interval, DateTime Date1, DateTime Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : Microsoft.VisualBasic.DateInterval * DateTime * DateTime * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As DateInterval, Date1 As DateTime, Date2 As DateTime, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long
Parameter
- Interval
- DateInterval
Wajib diisi. Nilai DateInterval enumerasi atau ekspresi string yang mewakili interval waktu yang ingin Anda gunakan sebagai unit perbedaan antara Date1
dan Date2
.
- Date1
- DateTime
Wajib diisi. Nilai tanggal/waktu pertama yang ingin Anda gunakan dalam perhitungan.
- Date2
- DateTime
Wajib diisi. Nilai tanggal/waktu kedua yang ingin Anda gunakan dalam perhitungan.
- DayOfWeek
- FirstDayOfWeek
Opsional. Nilai yang dipilih dari FirstDayOfWeek enumerasi yang menentukan hari pertama dalam seminggu. Jika tidak ditentukan, Sunday digunakan.
- WeekOfYear
- FirstWeekOfYear
Pilihan. Nilai yang dipilih dari FirstWeekOfYear enumerasi yang menentukan minggu pertama dalam setahun. Jika tidak ditentukan, Jan1 digunakan.
Mengembalikan
Nilai panjang yang menentukan jumlah interval waktu di antara dua Date
nilai.
Pengecualian
Date1
, Date2
, atau DayofWeek
di luar jangkauan.
Date1
atau Date2
berjenis tidak valid.
Contoh
Contoh ini menggunakan DateDiff
fungsi untuk menampilkan jumlah hari antara tanggal tertentu dan hari ini.
Dim date2Entered As String = InputBox("Enter a date")
Try
Dim date2 As Date = Date.Parse(date2Entered)
Dim date1 As Date = Now
' Determine the number of days between the two dates.
Dim days As Long = DateDiff(DateInterval.Day, date1, date2)
' This statement has a string interval argument, and
' is equivalent to the above statement.
'Dim days As Long = DateDiff("d", date1, date2)
MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
MessageBox.Show("Invalid Date: " & ex.Message)
End Try
Keterangan
Anda dapat menggunakan DateDiff
fungsi untuk menentukan berapa banyak interval waktu yang ditentukan yang ada di antara dua nilai tanggal/waktu. Misalnya, Anda dapat menggunakan DateDiff
untuk menghitung jumlah hari antara dua tanggal, atau jumlah minggu antara hari ini dan akhir tahun.
Aktivitas
Perawatan Parameter.
DateDiff
mengurangi nilai dariDate1
nilaiDate2
untuk menghasilkan perbedaan. Tidak ada nilai yang diubah dalam program panggilan.Mengembalikan Nilai. Karena
Date1
danDate2
merupakan jenisDate
data, mereka menyimpan nilai tanggal dan waktu yang akurat hingga 100-nanodetik tick pada timer sistem. Namun,DateDiff
selalu mengembalikan jumlah interval waktu sebagaiLong
nilai.Jika
Date1
menunjukkan tanggal dan waktu yang lebih baru dariDate2
,DateDiff
mengembalikan angka negatif.Interval Hari. Jika
Interval
diatur keDateInterval.DayOfYear
, maka diperlakukan sama denganDateInterval.Day
, karenaDayOfYear
bukan unit yang bermakna untuk interval waktu.Interval Minggu. Jika
Interval
diatur keDateInterval.WeekOfYear
, nilai yang dikembalikan menunjukkan jumlah minggu antara hari pertama dalam seminggu yang berisiDate1
dan hari pertama dalam seminggu yang berisiDate2
. Contoh berikut menunjukkan bagaimana ini menghasilkan hasil yang berbeda dariDateInterval.Weekday
.' The following statements set datTim1 to a Thursday ' and datTim2 to the following Tuesday. Dim datTim1 As Date = #1/4/2001# Dim datTim2 As Date = #1/9/2001# ' Assume Sunday is specified as first day of the week. Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2) Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
Dalam contoh sebelumnya,
DateDiff
mengembalikan 0 kewD
karena selisih antara kedua tanggal kurang dari tujuh hari, tetapi mengembalikan 1 hinggawY
karena ada selisih tujuh hari antara hari pertama dari masing-masing minggu kalender.Interval yang lebih besar. Jika
Interval
diatur keDateInterval.Year
, nilai pengembalian dihitung murni dari bagianDate1
tahun danDate2
. Demikian pula, nilai pengembalian untukDateInterval.Month
dihitung murni dari bagian tahun dan bulan dari argumen, dan untukDateInterval.Quarter
dari kuartal yang berisi dua tanggal.Misalnya, ketika membandingkan 31 Desember dengan 1 Januari tahun berikutnya,
DateDiff
mengembalikan 1 untukDateInterval.Year
, ,DateInterval.Quarter
atauDateInterval.Month
, meskipun paling banyak hanya satu hari yang berlalu.Untuk budaya seperti Jepang yang memiliki beberapa era,
DateDiff
metode ini tidak mengembalikan perbedaan dalam beberapa tahun jika perbedaannya mencakup dua atau lebih era. Sebagai gantinya, Anda dapat menghitung perbedaan nilai yang dikembalikan oleh Year properti , seperti yang ditunjukkan dalam contoh berikut:date2.Year - date1.Year
.Interval Lainnya. Karena setiap
Date
nilai didukung oleh DateTime struktur, metodenya memberi Anda opsi tambahan dalam menemukan interval waktu. Misalnya, Anda dapat menggunakanSubtract
metode dalam salah satu bentuk kelebihan bebannya: DateTime.Subtract mengurangi TimeSpan dariDate
variabel untuk mengembalikan nilai lainDate
, dan DateTime.Subtract mengurangiDate
nilai untuk mengembalikan TimeSpan. Anda dapat mengatur waktu proses untuk mengetahui berapa banyak milidetik yang diperlukan, seperti yang ditunjukkan contoh berikut.Dim startTime As Date = Now ' Run the process that is to be timed. Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime) Dim millisecs As Double = runLength.TotalMilliseconds
Argumen Interval
dapat memiliki salah satu pengaturan berikut.
Nilai enumerasi | Nilai untai (karakter) | Satuan perbedaan waktu |
---|---|---|
DateInterval.Day |
"h" | Hari |
DateInterval.DayOfYear |
"y" | Hari |
DateInterval.Hour |
"h" | Jam |
DateInterval.Minute |
"n" | Menit |
DateInterval.Month |
"b" | Bulan |
DateInterval.Quarter |
"q" | Kuartal |
DateInterval.Second |
"s" | Detik |
DateInterval.Weekday |
"w" | Minggu |
DateInterval.WeekOfYear |
"mm" | Minggu kalender |
DateInterval.Year |
"tttt" | Tahun |
Argumen DayOfWeek
dapat memiliki salah satu pengaturan berikut.
Nilai enumerasi | Nilai | Deskripsi |
---|---|---|
FirstDayOfWeek.System |
0 | Hari pertama dalam seminggu yang ditentukan dalam pengaturan sistem |
FirstDayOfWeek.Sunday |
1 | Minggu (default) |
FirstDayOfWeek.Monday |
2 | Senin (sesuai dengan standar ISO 8601, bagian 3.17) |
FirstDayOfWeek.Tuesday |
3 | Selasa |
FirstDayOfWeek.Wednesday |
4 | Rabu |
FirstDayOfWeek.Thursday |
5 | Kamis |
FirstDayOfWeek.Friday |
6 | Jumat |
FirstDayOfWeek.Saturday |
7 | Sabtu |
Argumen WeekOfYear
dapat memiliki salah satu pengaturan berikut.
Nilai enumerasi | Nilai | Deskripsi |
---|---|---|
FirstWeekOfYear.System |
0 | Minggu pertama tahun yang ditentukan dalam pengaturan sistem |
FirstWeekOfYear.Jan1 |
1 | Minggu di mana 1 Januari terjadi (default) |
FirstWeekOfYear.FirstFourDays |
2 | Minggu yang memiliki setidaknya empat hari di tahun baru (sesuai dengan standar ISO 8601, bagian 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Minggu penuh pertama di tahun baru |
Lihat juga
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Ringkasan Tipe Data (Visual Basic)
Berlaku untuk
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Sumber:
- DateAndTime.vb
- Sumber:
- DateAndTime.vb
- Sumber:
- DateAndTime.vb
Mengurangi Date1
dari Date2
untuk memberikan nilai panjang yang menentukan jumlah interval waktu antara dua Date
nilai.
public static long DateDiff (string Interval, object? Date1, object? Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
public static long DateDiff (string Interval, object Date1, object Date2, Microsoft.VisualBasic.FirstDayOfWeek DayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Microsoft.VisualBasic.FirstWeekOfYear WeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1);
static member DateDiff : string * obj * obj * Microsoft.VisualBasic.FirstDayOfWeek * Microsoft.VisualBasic.FirstWeekOfYear -> int64
Public Function DateDiff (Interval As String, Date1 As Object, Date2 As Object, Optional DayOfWeek As FirstDayOfWeek = Microsoft.VisualBasic.FirstDayOfWeek.Sunday, Optional WeekOfYear As FirstWeekOfYear = Microsoft.VisualBasic.FirstWeekOfYear.Jan1) As Long
Parameter
- Interval
- String
Wajib diisi. Nilai DateInterval enumerasi atau ekspresi string yang mewakili interval waktu yang ingin Anda gunakan sebagai unit perbedaan antara Date1
dan Date2
.
- Date1
- Object
Wajib diisi. Nilai tanggal/waktu pertama yang ingin Anda gunakan dalam perhitungan.
- Date2
- Object
Wajib diisi. Nilai tanggal/waktu kedua yang ingin Anda gunakan dalam perhitungan.
- DayOfWeek
- FirstDayOfWeek
Pilihan. Nilai yang dipilih dari FirstDayOfWeek enumerasi yang menentukan hari pertama dalam seminggu. Jika tidak ditentukan, Sunday digunakan.
- WeekOfYear
- FirstWeekOfYear
Pilihan. Nilai yang dipilih dari FirstWeekOfYear enumerasi yang menentukan minggu pertama dalam setahun. Jika tidak ditentukan, Jan1 digunakan.
Mengembalikan
Nilai panjang yang menentukan jumlah interval waktu di antara dua Date
nilai.
Pengecualian
Date1
, Date2
, atau DayofWeek
di luar jangkauan.
Date1
atau Date2
berjenis tidak valid.
Contoh
Contoh ini menggunakan DateDiff
fungsi untuk menampilkan jumlah hari antara tanggal tertentu dan hari ini.
Dim date2Entered As String = InputBox("Enter a date")
Try
Dim date2 As Date = Date.Parse(date2Entered)
Dim date1 As Date = Now
' Determine the number of days between the two dates.
Dim days As Long = DateDiff(DateInterval.Day, date1, date2)
' This statement has a string interval argument, and
' is equivalent to the above statement.
'Dim days As Long = DateDiff("d", date1, date2)
MessageBox.Show("Days from today: " & days.ToString)
Catch ex As Exception
MessageBox.Show("Invalid Date: " & ex.Message)
End Try
Keterangan
Anda dapat menggunakan DateDiff
fungsi untuk menentukan berapa banyak interval waktu yang ditentukan di antara dua nilai tanggal/waktu. Misalnya, Anda dapat menggunakan DateDiff
untuk menghitung jumlah hari antara dua tanggal, atau jumlah minggu antara hari ini dan akhir tahun.
Aktivitas
Perlakuan Parameter.
DateDiff
mengurangi nilai dariDate1
nilaiDate2
untuk menghasilkan perbedaan. Tidak ada nilai yang diubah dalam program panggilan.Mengembalikan Nilai. Karena
Date1
danDate2
merupakan jenisDate
data, mereka menyimpan nilai tanggal dan waktu yang akurat hingga 100-nanodetik tick pada timer sistem. Namun,DateDiff
selalu mengembalikan jumlah interval waktu sebagaiLong
nilai.Jika
Date1
menunjukkan tanggal dan waktu yang lebih baru dariDate2
,DateDiff
mengembalikan angka negatif.Interval Hari. Jika
Interval
diatur keDateInterval.DayOfYear
, itu diperlakukan sama denganDateInterval.Day
, karenaDayOfYear
bukan unit yang bermakna untuk interval waktu.Interval Minggu. Jika
Interval
diatur keDateInterval.WeekOfYear
, nilai yang dikembalikan menunjukkan jumlah minggu antara hari pertama dalam seminggu yang berisiDate1
dan hari pertama dalam seminggu yang berisiDate2
. Contoh berikut menunjukkan bagaimana ini menghasilkan hasil yang berbeda dariDateInterval.Weekday
.' The following statements set datTim1 to a Thursday ' and datTim2 to the following Tuesday. Dim datTim1 As Date = #1/4/2001# Dim datTim2 As Date = #1/9/2001# ' Assume Sunday is specified as first day of the week. Dim wD As Long = DateDiff(DateInterval.Weekday, datTim1, datTim2) Dim wY As Long = DateDiff(DateInterval.WeekOfYear, datTim1, datTim2)
Dalam contoh sebelumnya,
DateDiff
mengembalikan 0 kewD
karena perbedaan antara kedua tanggal kurang dari tujuh hari, tetapi mengembalikan 1 kewY
karena ada perbedaan tujuh hari antara hari pertama dari masing-masing minggu kalender.Interval yang lebih besar. Jika
Interval
diatur keDateInterval.Year
, nilai pengembalian dihitung murni dari bagianDate1
tahun danDate2
. Demikian pula, nilai pengembalian untukDateInterval.Month
dihitung murni dari bagian tahun dan bulan argumen, dan untukDateInterval.Quarter
dari kuartal yang berisi dua tanggal.Misalnya, ketika membandingkan 31 Desember dengan 1 Januari tahun berikutnya,
DateDiff
mengembalikan 1 untukDateInterval.Year
, ,DateInterval.Quarter
atauDateInterval.Month
, meskipun paling banyak hanya satu hari yang berlalu.Untuk budaya seperti Jepang yang memiliki beberapa era,
DateDiff
metode ini tidak mengembalikan perbedaan dalam bertahun-tahun jika perbedaannya mencakup dua atau lebih era. Sebagai gantinya, Anda dapat menghitung perbedaan nilai yang Year dikembalikan oleh properti , seperti yang ditunjukkan dalam contoh berikut:date2.Year - date1.Year
.Interval Lainnya. Karena setiap
Date
nilai didukung oleh DateTime struktur, metodenya memberi Anda opsi tambahan dalam menemukan interval waktu. Misalnya, Anda dapat menggunakanSubtract
metode dalam salah satu bentuk kelebihan bebannya: DateTime.Subtract mengurangi TimeSpan dariDate
variabel untuk mengembalikan nilai lainDate
, dan DateTime.Subtract mengurangiDate
nilai untuk mengembalikan TimeSpan. Anda dapat mengatur waktu proses untuk mengetahui berapa banyak milidetik yang diperlukan, seperti yang ditunjukkan contoh berikut.Dim startTime As Date = Now ' Run the process that is to be timed. Dim runLength As Global.System.TimeSpan = Now.Subtract(startTime) Dim millisecs As Double = runLength.TotalMilliseconds
Argumen Interval
dapat memiliki salah satu pengaturan berikut.
Nilai enumerasi | Nilai untai (karakter) | Satuan perbedaan waktu |
---|---|---|
DateInterval.Day |
"h" | Hari |
DateInterval.DayOfYear |
"y" | Hari |
DateInterval.Hour |
"h" | Jam |
DateInterval.Minute |
"n" | Menit |
DateInterval.Month |
"b" | Bulan |
DateInterval.Quarter |
"q" | Kuartal |
DateInterval.Second |
"s" | Detik |
DateInterval.Weekday |
"w" | Minggu |
DateInterval.WeekOfYear |
"mm" | Minggu kalender |
DateInterval.Year |
"tttt" | Tahun |
Argumen DayOfWeek
dapat memiliki salah satu pengaturan berikut.
Nilai enumerasi | Nilai | Deskripsi |
---|---|---|
FirstDayOfWeek.System |
0 | Hari pertama dalam seminggu yang ditentukan dalam pengaturan sistem |
FirstDayOfWeek.Sunday |
1 | Minggu (default) |
FirstDayOfWeek.Monday |
2 | Senin (sesuai dengan standar ISO 8601, bagian 3.17) |
FirstDayOfWeek.Tuesday |
3 | Selasa |
FirstDayOfWeek.Wednesday |
4 | Rabu |
FirstDayOfWeek.Thursday |
5 | Kamis |
FirstDayOfWeek.Friday |
6 | Jumat |
FirstDayOfWeek.Saturday |
7 | Sabtu |
Argumen WeekOfYear
dapat memiliki salah satu pengaturan berikut.
Nilai enumerasi | Nilai | Deskripsi |
---|---|---|
FirstWeekOfYear.System |
0 | Minggu pertama tahun yang ditentukan dalam pengaturan sistem |
FirstWeekOfYear.Jan1 |
1 | Minggu di mana 1 Januari terjadi (default) |
FirstWeekOfYear.FirstFourDays |
2 | Minggu yang memiliki setidaknya empat hari di tahun baru (sesuai dengan standar ISO 8601, bagian 3.17) |
FirstWeekOfYear.FirstFullWeek |
3 | Minggu penuh pertama di tahun baru |
Lihat juga
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Ringkasan Tipe Data (Visual Basic)
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk