DateAndTime.DateDiff Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İki Date
değer arasındaki zaman aralıklarının sayısını belirten bir değer döndürür.
Aşırı Yüklemeler
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
İki |
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
İki |
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- Kaynak:
- DateAndTime.vb
- Kaynak:
- DateAndTime.vb
- Kaynak:
- DateAndTime.vb
İki Date
değer arasındaki zaman aralıklarının sayısını belirten uzun bir değer vermek için Date1
Date2
çıkarır.
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
Parametreler
- Interval
- DateInterval
Gerekli.
Date1
ile Date2
arasındaki fark birimi olarak kullanmak istediğiniz zaman aralığını temsil eden bir DateInterval numaralandırma değeri veya dize ifadesi.
- Date1
- DateTime
Gerekli. Hesaplamada kullanmak istediğiniz ilk tarih/saat değeri.
- Date2
- DateTime
Gerekli. Hesaplamada kullanmak istediğiniz ikinci tarih/saat değeri.
- DayOfWeek
- FirstDayOfWeek
Opsiyonel. FirstDayOfWeek numaralandırmasından seçilen ve haftanın ilk gününü belirten bir değer. Belirtilmezse, Sunday kullanılır.
- WeekOfYear
- FirstWeekOfYear
Opsiyonel. FirstWeekOfYear numaralandırmasından seçilen ve yılın ilk haftasını belirten bir değer. Belirtilmezse, Jan1 kullanılır.
Döndürülenler
İki Date
değer arasındaki zaman aralıklarının sayısını belirten uzun bir değer.
Özel durumlar
Date1
, Date2
veya DayofWeek
aralık dışında.
Date1
veya Date2
geçersiz türde.
Örnekler
Bu örnekte, belirli bir tarih ile bugün arasındaki gün sayısını görüntülemek için DateDiff
işlevi kullanılır.
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
Açıklamalar
İki tarih/saat değeri arasında belirtilen zaman aralıklarının sayısını belirlemek için DateDiff
işlevini kullanabilirsiniz. Örneğin, iki tarih arasındaki gün sayısını veya bugün ile yıl sonu arasındaki hafta sayısını hesaplamak için DateDiff
kullanabilirsiniz.
Davranış
Parametrelerin işlenmesi.
DateDiff
, farkı oluşturmak içinDate1
değeriniDate2
değerinden çıkarır. Çağıran programda hiçbir değer değiştirilmez.Dönüş Değerleri.
Date1
veDate2
Date
veri türünde olduğundan, sistem zamanlayıcıda 100 nanosaniyelik değere doğru tarih ve saat değerlerini tutarlar. AncakDateDiff
her zaman zaman aralıklarının sayısınıLong
değeri olarak döndürür.Date1
Date2
'den sonraki bir tarih ve saati temsil ederseDateDiff
negatif bir sayı döndürür.Gün Aralıkları.
Interval
DateInterval.DayOfYear
olarak ayarlanırsa,DayOfYear
bir zaman aralığı için anlamlı bir birim olmadığındanDateInterval.Day
olarak değerlendirilir.Hafta Aralıkları.
Interval
DateInterval.WeekOfYear
olarak ayarlanırsa, dönüş değeriDate1
içeren haftanın ilk günü ileDate2
içeren haftanın ilk günü arasındaki hafta sayısını temsil eder. Aşağıdaki örnekte bununDateInterval.Weekday
'dan nasıl farklı sonuçlar ürettiği gösterilmektedir.' 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)
Yukarıdaki örnekte, iki tarih arasındaki fark yedi günden az olduğundan
DateDiff
0 ilewD
arası döndürür, ancak ilgili takvim haftalarının ilk günleri arasında yedi günlük bir fark olduğundan 1 ilewY
arasında bir değer döndürür.Daha Büyük Aralıklar.
Interval
DateInterval.Year
olarak ayarlanırsa, dönüş değeri yalnızcaDate1
veDate2
yıl bölümlerinden hesaplanır. Benzer şekilde,DateInterval.Month
için dönüş değeri yalnızca bağımsız değişkenlerin yıl ve ay bölümlerinden ve iki tarihi içeren üç aylık dönemlerdenDateInterval.Quarter
hesaplanır.Örneğin, 31 Aralık ile sonraki yılın 1 Ocak'ını karşılaştırırken,
DateDiff
en fazla bir gün geçmesine rağmenDateInterval.Year
,DateInterval.Quarter
veyaDateInterval.Month
için 1 döndürür.Birden çok çağı olan Japonca gibi kültürler için
DateDiff
yöntemi, fark iki veya daha fazla çağa yayılmışsa yıllar içinde bir fark döndürmez. Bunun yerine, aşağıdaki örnekte gösterildiği gibi Year özelliği tarafından döndürülen değerlerdeki farkı hesaplayabilirsiniz:date2.Year - date1.Year
.Diğer Aralıklar. Her
Date
değeri bir DateTime yapısı tarafından desteklendiğinden, yöntemleri size zaman aralıklarını bulma konusunda ek seçenekler sağlar. Örneğin,Subtract
yöntemini aşırı yüklenmiş formlarından birinde kullanabilirsiniz: DateTime.Subtract başka birDate
değeri döndürmek için bir TimeSpanDate
değişkenden çıkarır ve DateTime.SubtractTimeSpandöndürmek içinDate
bir değeri çıkarır. Aşağıdaki örnekte gösterildiği gibi kaç milisaniye sürdüğünü bulmak için bir işlemi zamanlayabilirsiniz.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
Interval
bağımsız değişkeni aşağıdaki ayarlardan birine sahip olabilir.
Numaralandırma değeri | Dize değeri | Zaman farkı birimi |
---|---|---|
DateInterval.Day |
"d" | Gün |
DateInterval.DayOfYear |
"y" | Gün |
DateInterval.Hour |
"h" | Saat |
DateInterval.Minute |
"n" | Dakika |
DateInterval.Month |
"m" | Ay |
DateInterval.Quarter |
"q" | Çeyrek |
DateInterval.Second |
"s" | Saniye |
DateInterval.Weekday |
"w" | Hafta |
DateInterval.WeekOfYear |
"ww" | Takvim haftası |
DateInterval.Year |
"yyyy" | Yıl |
DayOfWeek
bağımsız değişkeni aşağıdaki ayarlardan birine sahip olabilir.
Numaralandırma değeri | Değer | Tarif |
---|---|---|
FirstDayOfWeek.System |
0 | Sistem ayarlarında haftanın ilk günü belirtildi |
FirstDayOfWeek.Sunday |
1 | Pazar (varsayılan) |
FirstDayOfWeek.Monday |
2 | Pazartesi (ISO standardı 8601, bölüm 3.17 ile uyumludur) |
FirstDayOfWeek.Tuesday |
3 | Salı |
FirstDayOfWeek.Wednesday |
4 | Çarşamba |
FirstDayOfWeek.Thursday |
5 | Perşembe |
FirstDayOfWeek.Friday |
6 | Cuma |
FirstDayOfWeek.Saturday |
7 | Cumartesi |
WeekOfYear
bağımsız değişkeni aşağıdaki ayarlardan birine sahip olabilir.
Numaralandırma değeri | Değer | Tarif |
---|---|---|
FirstWeekOfYear.System |
0 | Sistem ayarlarında yılın ilk haftası belirtildi |
FirstWeekOfYear.Jan1 |
1 | 1 Ocak'ın gerçekleştiği hafta (varsayılan) |
FirstWeekOfYear.FirstFourDays |
2 | Yeni yılda en az dört günü olan hafta (ISO standardı 8601, bölüm 3.17 ile uyumludur) |
FirstWeekOfYear.FirstFullWeek |
3 | Yeni yılın ilk tam haftası |
Ayrıca bkz.
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Veri Türü Özeti (Visual Basic)
Şunlara uygulanır
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- Kaynak:
- DateAndTime.vb
- Kaynak:
- DateAndTime.vb
- Kaynak:
- DateAndTime.vb
İki Date
değer arasındaki zaman aralıklarının sayısını belirten uzun bir değer vermek için Date1
Date2
çıkarır.
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
Parametreler
- Interval
- String
Gerekli.
Date1
ile Date2
arasındaki fark birimi olarak kullanmak istediğiniz zaman aralığını temsil eden bir DateInterval numaralandırma değeri veya dize ifadesi.
- Date1
- Object
Gerekli. Hesaplamada kullanmak istediğiniz ilk tarih/saat değeri.
- Date2
- Object
Gerekli. Hesaplamada kullanmak istediğiniz ikinci tarih/saat değeri.
- DayOfWeek
- FirstDayOfWeek
Opsiyonel. FirstDayOfWeek numaralandırmasından seçilen ve haftanın ilk gününü belirten bir değer. Belirtilmezse, Sunday kullanılır.
- WeekOfYear
- FirstWeekOfYear
Opsiyonel. FirstWeekOfYear numaralandırmasından seçilen ve yılın ilk haftasını belirten bir değer. Belirtilmezse, Jan1 kullanılır.
Döndürülenler
İki Date
değer arasındaki zaman aralıklarının sayısını belirten uzun bir değer.
Özel durumlar
Date1
, Date2
veya DayofWeek
aralık dışında.
Date1
veya Date2
geçersiz türde.
Örnekler
Bu örnekte, belirli bir tarih ile bugün arasındaki gün sayısını görüntülemek için DateDiff
işlevi kullanılır.
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
Açıklamalar
İki tarih/saat değeri arasında belirtilen zaman aralıklarının sayısını belirlemek için DateDiff
işlevini kullanabilirsiniz. Örneğin, iki tarih arasındaki gün sayısını veya bugün ile yıl sonu arasındaki hafta sayısını hesaplamak için DateDiff
kullanabilirsiniz.
Davranış
Parametrelerin işlenmesi.
DateDiff
, farkı oluşturmak içinDate1
değeriniDate2
değerinden çıkarır. Çağıran programda hiçbir değer değiştirilmez.Dönüş Değerleri.
Date1
veDate2
Date
veri türünde olduğundan, sistem zamanlayıcıda 100 nanosaniyelik değere doğru tarih ve saat değerlerini tutarlar. AncakDateDiff
her zaman zaman aralıklarının sayısınıLong
değeri olarak döndürür.Date1
Date2
'den sonraki bir tarih ve saati temsil ederseDateDiff
negatif bir sayı döndürür.Gün Aralıkları.
Interval
DateInterval.DayOfYear
olarak ayarlanırsa,DayOfYear
bir zaman aralığı için anlamlı bir birim olmadığındanDateInterval.Day
olarak değerlendirilir.Hafta Aralıkları.
Interval
DateInterval.WeekOfYear
olarak ayarlanırsa, dönüş değeriDate1
içeren haftanın ilk günü ileDate2
içeren haftanın ilk günü arasındaki hafta sayısını temsil eder. Aşağıdaki örnekte bununDateInterval.Weekday
'dan nasıl farklı sonuçlar ürettiği gösterilmektedir.' 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)
Yukarıdaki örnekte, iki tarih arasındaki fark yedi günden az olduğundan
DateDiff
0 ilewD
arası döndürür, ancak ilgili takvim haftalarının ilk günleri arasında yedi günlük bir fark olduğundan 1 ilewY
arasında bir değer döndürür.Daha Büyük Aralıklar.
Interval
DateInterval.Year
olarak ayarlanırsa, dönüş değeri yalnızcaDate1
veDate2
yıl bölümlerinden hesaplanır. Benzer şekilde,DateInterval.Month
için dönüş değeri yalnızca bağımsız değişkenlerin yıl ve ay bölümlerinden ve iki tarihi içeren üç aylık dönemlerdenDateInterval.Quarter
hesaplanır.Örneğin, 31 Aralık ile sonraki yılın 1 Ocak'ını karşılaştırırken,
DateDiff
en fazla bir gün geçmesine rağmenDateInterval.Year
,DateInterval.Quarter
veyaDateInterval.Month
için 1 döndürür.Birden çok çağı olan Japonca gibi kültürler için
DateDiff
yöntemi, fark iki veya daha fazla çağa yayılmışsa yıllar içinde bir fark döndürmez. Bunun yerine, aşağıdaki örnekte gösterildiği gibi Year özelliği tarafından döndürülen değerlerdeki farkı hesaplayabilirsiniz:date2.Year - date1.Year
.Diğer Aralıklar. Her
Date
değeri bir DateTime yapısı tarafından desteklendiğinden, yöntemleri size zaman aralıklarını bulma konusunda ek seçenekler sağlar. Örneğin,Subtract
yöntemini aşırı yüklenmiş formlarından birinde kullanabilirsiniz: DateTime.Subtract başka birDate
değeri döndürmek için bir TimeSpanDate
değişkenden çıkarır ve DateTime.SubtractTimeSpandöndürmek içinDate
bir değeri çıkarır. Aşağıdaki örnekte gösterildiği gibi kaç milisaniye sürdüğünü bulmak için bir işlemi zamanlayabilirsiniz.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
Interval
bağımsız değişkeni aşağıdaki ayarlardan birine sahip olabilir.
Numaralandırma değeri | Dize değeri | Zaman farkı birimi |
---|---|---|
DateInterval.Day |
"d" | Gün |
DateInterval.DayOfYear |
"y" | Gün |
DateInterval.Hour |
"h" | Saat |
DateInterval.Minute |
"n" | Dakika |
DateInterval.Month |
"m" | Ay |
DateInterval.Quarter |
"q" | Çeyrek |
DateInterval.Second |
"s" | Saniye |
DateInterval.Weekday |
"w" | Hafta |
DateInterval.WeekOfYear |
"ww" | Takvim haftası |
DateInterval.Year |
"yyyy" | Yıl |
DayOfWeek
bağımsız değişkeni aşağıdaki ayarlardan birine sahip olabilir.
Numaralandırma değeri | Değer | Tarif |
---|---|---|
FirstDayOfWeek.System |
0 | Sistem ayarlarında haftanın ilk günü belirtildi |
FirstDayOfWeek.Sunday |
1 | Pazar (varsayılan) |
FirstDayOfWeek.Monday |
2 | Pazartesi (ISO standardı 8601, bölüm 3.17 ile uyumludur) |
FirstDayOfWeek.Tuesday |
3 | Salı |
FirstDayOfWeek.Wednesday |
4 | Çarşamba |
FirstDayOfWeek.Thursday |
5 | Perşembe |
FirstDayOfWeek.Friday |
6 | Cuma |
FirstDayOfWeek.Saturday |
7 | Cumartesi |
WeekOfYear
bağımsız değişkeni aşağıdaki ayarlardan birine sahip olabilir.
Numaralandırma değeri | Değer | Tarif |
---|---|---|
FirstWeekOfYear.System |
0 | Sistem ayarlarında yılın ilk haftası belirtildi |
FirstWeekOfYear.Jan1 |
1 | 1 Ocak'ın gerçekleştiği hafta (varsayılan) |
FirstWeekOfYear.FirstFourDays |
2 | Yeni yılda en az dört günü olan hafta (ISO standardı 8601, bölüm 3.17 ile uyumludur) |
FirstWeekOfYear.FirstFullWeek |
3 | Yeni yılın ilk tam haftası |
Ayrıca bkz.
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- Veri Türü Özeti (Visual Basic)