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
| Name | Description |
|---|---|
| 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
- 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 Date1Date2 çı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 Date2arası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, Date2veya 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çinDate1değeriniDate2değerinden çıkarır. Çağıran programda hiçbir değer değiştirilmez.Dönüş Değerleri.
Date1veDate2Dateveri türünde olduğundan, sistem zamanlayıcıda 100 nanosaniyelik değere doğru tarih ve saat değerlerini tutarlar. AncakDateDiffher zaman zaman aralıklarının sayısınıLongdeğeri olarak döndürür.Date1Date2'den sonraki bir tarih ve saati temsil ederseDateDiffnegatif bir sayı döndürür.Gün Aralıkları.
IntervalDateInterval.DayOfYearolarak ayarlanırsa,DayOfYearbir zaman aralığı için anlamlı bir birim olmadığındanDateInterval.Dayolarak değerlendirilir.Hafta Aralıkları.
IntervalDateInterval.WeekOfYearolarak ayarlanırsa, dönüş değeriDate1içeren haftanın ilk günü ileDate2iç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
DateDiff0 ilewDarası döndürür, ancak ilgili takvim haftalarının ilk günleri arasında yedi günlük bir fark olduğundan 1 ilewYarasında bir değer döndürür.Daha Büyük Aralıklar.
IntervalDateInterval.Yearolarak ayarlanırsa, dönüş değeri yalnızcaDate1veDate2yıl bölümlerinden hesaplanır. Benzer şekilde,DateInterval.Monthiç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.Quarterhesaplanır.Örneğin, 31 Aralık ile sonraki yılın 1 Ocak'ını karşılaştırırken,
DateDiffen fazla bir gün geçmesine rağmenDateInterval.Year,DateInterval.QuarterveyaDateInterval.Monthiçin 1 döndürür.Birden çok çağı olan Japonca gibi kültürler için
DateDiffyö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
Datedeğ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,Subtractyöntemini aşırı yüklenmiş formlarından birinde kullanabilirsiniz: DateTime.Subtract başka birDatedeğeri döndürmek için bir TimeSpanDatedeğişkenden çıkarır ve DateTime.SubtractTimeSpandöndürmek içinDatebir 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
- 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 Date1Date2 çı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 Date2arası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, Date2veya 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çinDate1değeriniDate2değerinden çıkarır. Çağıran programda hiçbir değer değiştirilmez.Dönüş Değerleri.
Date1veDate2Dateveri türünde olduğundan, sistem zamanlayıcıda 100 nanosaniyelik değere doğru tarih ve saat değerlerini tutarlar. AncakDateDiffher zaman zaman aralıklarının sayısınıLongdeğeri olarak döndürür.Date1Date2'den sonraki bir tarih ve saati temsil ederseDateDiffnegatif bir sayı döndürür.Gün Aralıkları.
IntervalDateInterval.DayOfYearolarak ayarlanırsa,DayOfYearbir zaman aralığı için anlamlı bir birim olmadığındanDateInterval.Dayolarak değerlendirilir.Hafta Aralıkları.
IntervalDateInterval.WeekOfYearolarak ayarlanırsa, dönüş değeriDate1içeren haftanın ilk günü ileDate2iç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
DateDiff0 ilewDarası döndürür, ancak ilgili takvim haftalarının ilk günleri arasında yedi günlük bir fark olduğundan 1 ilewYarasında bir değer döndürür.Daha Büyük Aralıklar.
IntervalDateInterval.Yearolarak ayarlanırsa, dönüş değeri yalnızcaDate1veDate2yıl bölümlerinden hesaplanır. Benzer şekilde,DateInterval.Monthiç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.Quarterhesaplanır.Örneğin, 31 Aralık ile sonraki yılın 1 Ocak'ını karşılaştırırken,
DateDiffen fazla bir gün geçmesine rağmenDateInterval.Year,DateInterval.QuarterveyaDateInterval.Monthiçin 1 döndürür.Birden çok çağı olan Japonca gibi kültürler için
DateDiffyö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
Datedeğ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,Subtractyöntemini aşırı yüklenmiş formlarından birinde kullanabilirsiniz: DateTime.Subtract başka birDatedeğeri döndürmek için bir TimeSpanDatedeğişkenden çıkarır ve DateTime.SubtractTimeSpandöndürmek içinDatebir 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)