DateAndTime.DateDiff メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
2 つの Date
値間の時間間隔の数を指定する値を返します。
オーバーロード
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) |
|
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear) |
|
DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear)
- ソース:
- DateAndTime.vb
- ソース:
- DateAndTime.vb
- ソース:
- DateAndTime.vb
Date2
から Date1
を減算して、2 つの Date
値間の時間間隔の数を指定する長い値を指定します。
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
パラメーター
- Interval
- DateInterval
必須。
Date1
と Date2
の差の単位として使用する時間間隔を表す DateInterval 列挙値または文字列式。
- Date1
- DateTime
必須。 計算に使用する最初の日付/時刻値。
- Date2
- DateTime
必須。 計算に使用する 2 番目の日付/時刻値。
- DayOfWeek
- FirstDayOfWeek
随意。 週の最初の曜日を指定する FirstDayOfWeek 列挙体から選択された値。 指定しない場合は、Sunday が使用されます。
- WeekOfYear
- FirstWeekOfYear
随意。 年の最初の週を指定する FirstWeekOfYear 列挙体から選択された値。 指定しない場合は、Jan1 が使用されます。
戻り値
2 つの Date
値間の時間間隔の数を指定する長い値。
例外
Date1
、Date2
、または DayofWeek
が範囲外です。
Date1
または Date2
が無効な型です。
例
この例では、DateDiff
関数を使用して、特定の日付から今日までの日数を表示します。
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
注釈
DateDiff
関数を使用して、2 つの日付/時刻値の間に指定された時間間隔の数を確認できます。 たとえば、DateDiff
を使用して、2 つの日付の間の日数、または今日から年末までの週数を計算できます。
振舞い
パラメーターの処理。
DateDiff
は、Date1
の値をDate2
の値から減算して差を生成します。 呼び出し元プログラムでは、どちらの値も変更されません。戻り値。
Date1
とDate2
はDate
データ型であるため、システム タイマーでは 100 ナノ秒のティックに正確な日付と時刻の値が保持されます。 ただし、DateDiff
は常に時間間隔の数をLong
値として返します。Date1
がDate2
よりも後の日付と時刻を表す場合、DateDiff
は負の数を返します。日の間隔。
Interval
がDateInterval.DayOfYear
に設定されている場合、DayOfYear
は時間間隔の意味のある単位ではないため、DateInterval.Day
と同じように扱われます。週の間隔。
Interval
がDateInterval.WeekOfYear
に設定されている場合、戻り値は、Date1
を含む週の最初の日から、Date2
を含む週の最初の日までの週数を表します。 次の例は、これがDateInterval.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)
前の例では、2 つの日付の差が 7 日未満であるため、
DateDiff
は 0 からwD
を返しますが、それぞれのカレンダー週の最初の日には 7 日間の差があるため、1 からwY
を返します。間隔が大きい。
Interval
がDateInterval.Year
に設定されている場合、戻り値はDate1
とDate2
の年の部分から純粋に計算されます。 同様に、DateInterval.Month
の戻り値は、引数の年と月の部分から、および 2 つの日付を含む四半期のDateInterval.Quarter
から純粋に計算されます。たとえば、12 月 31 日から翌年の 1 月 1 日を比較すると、
DateDiff
は、最大で 1 日しか経過していなくても、DateInterval.Year
、DateInterval.Quarter
、またはDateInterval.Month
に対して 1 を返します。複数の時代 (年号) を持つ日本語などのカルチャの場合、
DateDiff
メソッドは、その差が 2 つ以上の時代 (年号) にまたがる場合、年の差を返しません。 代わりに、次の例に示すように、Year プロパティによって返される値の差を計算できます:date2.Year - date1.Year
。その他の間隔。 すべての
Date
値は DateTime 構造体でサポートされているため、そのメソッドを使用すると、時間間隔を検索するための追加のオプションが提供されます。 たとえば、Subtract
メソッドは、オーバーロードされた形式のいずれかで使用できます。DateTime.Subtract は、Date
変数から TimeSpan を減算して別のDate
値を返し、DateTime.SubtractDate
値を減算して TimeSpanを返します。 次の例に示すように、プロセスの所要時間をミリ秒単位で確認できます。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
引数には、次のいずれかの設定を指定できます。
列挙値 | 文字列値 | 時間差の単位 |
---|---|---|
DateInterval.Day |
"d" | 日 |
DateInterval.DayOfYear |
"y" | 日 |
DateInterval.Hour |
"h" | 時 |
DateInterval.Minute |
"n" | 分 |
DateInterval.Month |
"m" | 月 |
DateInterval.Quarter |
"q" | 四半期 |
DateInterval.Second |
"s" | 秒 |
DateInterval.Weekday |
"w" | 週 |
DateInterval.WeekOfYear |
"ww" | カレンダーの週 |
DateInterval.Year |
"yyyy" | 年 |
DayOfWeek
引数には、次のいずれかの設定を指定できます。
列挙値 | 価値 | 形容 |
---|---|---|
FirstDayOfWeek.System |
0 | システム設定で指定された週の最初の曜日 |
FirstDayOfWeek.Sunday |
1 | 日曜日 (既定) |
FirstDayOfWeek.Monday |
2 | 月曜日 (ISO 標準 8601、セクション 3.17 に準拠) |
FirstDayOfWeek.Tuesday |
3 | 火曜日 |
FirstDayOfWeek.Wednesday |
4 | 水曜日 |
FirstDayOfWeek.Thursday |
5 | 木曜日 |
FirstDayOfWeek.Friday |
6 | 金曜日 |
FirstDayOfWeek.Saturday |
7 | 土曜日 |
WeekOfYear
引数には、次のいずれかの設定を指定できます。
列挙値 | 価値 | 形容 |
---|---|---|
FirstWeekOfYear.System |
0 | システム設定で指定された年の最初の週 |
FirstWeekOfYear.Jan1 |
1 | 1 月 1 日が発生する週 (既定) |
FirstWeekOfYear.FirstFourDays |
2 | 新年に 4 日以上ある週 (ISO 標準 8601、セクション 3.17 に準拠) |
FirstWeekOfYear.FirstFullWeek |
3 | 新年の最初の週 |
こちらもご覧ください
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- データ型の概要 (Visual Basic)
適用対象
DateDiff(String, Object, Object, FirstDayOfWeek, FirstWeekOfYear)
- ソース:
- DateAndTime.vb
- ソース:
- DateAndTime.vb
- ソース:
- DateAndTime.vb
Date2
から Date1
を減算して、2 つの Date
値間の時間間隔の数を指定する長い値を指定します。
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
パラメーター
- Interval
- String
必須。
Date1
と Date2
の差の単位として使用する時間間隔を表す DateInterval 列挙値または文字列式。
- Date1
- Object
必須。 計算に使用する最初の日付/時刻値。
- Date2
- Object
必須。 計算に使用する 2 番目の日付/時刻値。
- DayOfWeek
- FirstDayOfWeek
随意。 週の最初の曜日を指定する FirstDayOfWeek 列挙体から選択された値。 指定しない場合は、Sunday が使用されます。
- WeekOfYear
- FirstWeekOfYear
随意。 年の最初の週を指定する FirstWeekOfYear 列挙体から選択された値。 指定しない場合は、Jan1 が使用されます。
戻り値
2 つの Date
値間の時間間隔の数を指定する長い値。
例外
Date1
、Date2
、または DayofWeek
が範囲外です。
Date1
または Date2
が無効な型です。
例
この例では、DateDiff
関数を使用して、特定の日付から今日までの日数を表示します。
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
注釈
DateDiff
関数を使用して、2 つの日付/時刻値の間に指定された時間間隔の数を確認できます。 たとえば、DateDiff
を使用して、2 つの日付の間の日数、または今日から年末までの週数を計算できます。
振舞い
パラメーターの処理。
DateDiff
は、Date1
の値をDate2
の値から減算して差を生成します。 呼び出し元プログラムでは、どちらの値も変更されません。戻り値。
Date1
とDate2
はDate
データ型であるため、システム タイマーでは 100 ナノ秒のティックに正確な日付と時刻の値が保持されます。 ただし、DateDiff
は常に時間間隔の数をLong
値として返します。Date1
がDate2
よりも後の日付と時刻を表す場合、DateDiff
は負の数を返します。日の間隔。
Interval
がDateInterval.DayOfYear
に設定されている場合、DayOfYear
は時間間隔の意味のある単位ではないため、DateInterval.Day
と同じように扱われます。週の間隔。
Interval
がDateInterval.WeekOfYear
に設定されている場合、戻り値は、Date1
を含む週の最初の日から、Date2
を含む週の最初の日までの週数を表します。 次の例は、これがDateInterval.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)
前の例では、2 つの日付の差が 7 日未満であるため、
DateDiff
は 0 からwD
を返しますが、それぞれのカレンダー週の最初の日には 7 日間の差があるため、1 からwY
を返します。間隔が大きい。
Interval
がDateInterval.Year
に設定されている場合、戻り値はDate1
とDate2
の年の部分から純粋に計算されます。 同様に、DateInterval.Month
の戻り値は、引数の年と月の部分から、および 2 つの日付を含む四半期のDateInterval.Quarter
から純粋に計算されます。たとえば、12 月 31 日から翌年の 1 月 1 日を比較すると、
DateDiff
は、最大で 1 日しか経過していなくても、DateInterval.Year
、DateInterval.Quarter
、またはDateInterval.Month
に対して 1 を返します。複数の時代 (年号) を持つ日本語などのカルチャの場合、
DateDiff
メソッドは、その差が 2 つ以上の時代 (年号) にまたがる場合、年の差を返しません。 代わりに、次の例に示すように、Year プロパティによって返される値の差を計算できます:date2.Year - date1.Year
。その他の間隔。 すべての
Date
値は DateTime 構造体でサポートされているため、そのメソッドを使用すると、時間間隔を検索するための追加のオプションが提供されます。 たとえば、Subtract
メソッドは、オーバーロードされた形式のいずれかで使用できます。DateTime.Subtract は、Date
変数から TimeSpan を減算して別のDate
値を返し、DateTime.SubtractDate
値を減算して TimeSpanを返します。 次の例に示すように、プロセスの所要時間をミリ秒単位で確認できます。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
引数には、次のいずれかの設定を指定できます。
列挙値 | 文字列値 | 時間差の単位 |
---|---|---|
DateInterval.Day |
"d" | 日 |
DateInterval.DayOfYear |
"y" | 日 |
DateInterval.Hour |
"h" | 時 |
DateInterval.Minute |
"n" | 分 |
DateInterval.Month |
"m" | 月 |
DateInterval.Quarter |
"q" | 四半期 |
DateInterval.Second |
"s" | 秒 |
DateInterval.Weekday |
"w" | 週 |
DateInterval.WeekOfYear |
"ww" | カレンダーの週 |
DateInterval.Year |
"yyyy" | 年 |
DayOfWeek
引数には、次のいずれかの設定を指定できます。
列挙値 | 価値 | 形容 |
---|---|---|
FirstDayOfWeek.System |
0 | システム設定で指定された週の最初の曜日 |
FirstDayOfWeek.Sunday |
1 | 日曜日 (既定) |
FirstDayOfWeek.Monday |
2 | 月曜日 (ISO 標準 8601、セクション 3.17 に準拠) |
FirstDayOfWeek.Tuesday |
3 | 火曜日 |
FirstDayOfWeek.Wednesday |
4 | 水曜日 |
FirstDayOfWeek.Thursday |
5 | 木曜日 |
FirstDayOfWeek.Friday |
6 | 金曜日 |
FirstDayOfWeek.Saturday |
7 | 土曜日 |
WeekOfYear
引数には、次のいずれかの設定を指定できます。
列挙値 | 価値 | 形容 |
---|---|---|
FirstWeekOfYear.System |
0 | システム設定で指定された年の最初の週 |
FirstWeekOfYear.Jan1 |
1 | 1 月 1 日が発生する週 (既定) |
FirstWeekOfYear.FirstFourDays |
2 | 新年に 4 日以上ある週 (ISO 標準 8601、セクション 3.17 に準拠) |
FirstWeekOfYear.FirstFullWeek |
3 | 新年の最初の週 |
こちらもご覧ください
- DateAdd
- DatePart
- Day(DateTime)
- Format(Object, String)
- Now
- Weekday(DateTime, FirstDayOfWeek)
- Year(DateTime)
- DateTime
- TimeSpan
- データ型の概要 (Visual Basic)
適用対象
.NET