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
Date1
をDate2
減算して、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
必須です。 計算で使用する 1 番目の日付/時刻の値。
- Date2
- DateTime
必須です。 計算で使用する 2 番目の日付/時刻の値。
- DayOfWeek
- FirstDayOfWeek
省略可能。 週の最初の曜日を指定する FirstDayOfWeek 列挙体から選択する値。 指定しない場合は、Sunday が使用されます。
- WeekOfYear
- FirstWeekOfYear
省略可能。 年の最初の週を指定する FirstWeekOfYear 列挙体から選択する値。 指定しない場合は、Jan1 が使用されます。
戻り値
2 つの Date
値の間に含まれる時間間隔の数を指定する long 型の値。
例外
該当する 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
を減算して差を生成します。 呼び出し元のプログラムでは、どちらの値も変更されません。戻り値。 と
Date2
はDate
データ型であるためDate1
、システム タイマーで 100 ナノ秒のティックに正確な日付と時刻の値が保持されます。 ただし、DateDiff
常に時間間隔の数を値としてLong
返します。が より
Date2
DateDiff
後の日付と時刻を表す場合Date1
は、負の数を返します。日の間隔。 が に
DateInterval.DayOfYear
設定されている場合Interval
、時間間隔の意味のある単位ではないのでDayOfYear
、 と同じようにDateInterval.Day
扱われます。週の間隔。 が に
DateInterval.WeekOfYear
設定されている場合Interval
、戻り値は を含む週の最初の日から を含む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)
前の例では、
DateDiff
2 つの日付の差が 7 日未満であるため にwD
0 を返しますが、それぞれのカレンダー週の最初の日の間にwY
7 日間の差があるため、 に 1 を返します。より大きな間隔。 が に
DateInterval.Year
設定されている場合Interval
、戻り値は とDate2
の年のDate1
部分から純粋に計算されます。 同様に、 のDateInterval.Month
戻り値は、引数の年と月の部分、およびDateInterval.Quarter
2 つの日付を含む四半期から純粋に計算されます。たとえば、12 月 31 日と翌年の 1 月 1 日を比較すると、
DateDiff
最大で 1 日しか経過していなくても、またはDateInterval.Month
の 1DateInterval.Year
DateInterval.Quarter
が返されます。複数の時代を持つ日本語などの文化の場合、このメソッドは、
DateDiff
差が 2 つ以上の時代にまたがっている場合、年の差を返しません。 代わりに、次の例に示すように、 プロパティによってYear返される値の差を計算できます。date2.Year - date1.Year
その他の間隔。 すべての
Date
値は構造体で DateTime サポートされているため、そのメソッドでは時間間隔を検索するための追加のオプションが提供されます。 たとえば、オーバーロードされた形式DateTime.Subtractのいずれかで メソッドをSubtract
使用できます。変数からDate
をTimeSpan減算して別Date
の値を返しDateTime.Subtract、値をDate
減算して を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" | Month |
DateInterval.Quarter |
"q" | Quarter |
DateInterval.Second |
"s" | Second |
DateInterval.Weekday |
"w" | 週 |
DateInterval.WeekOfYear |
"ww" | カレンダーの週 |
DateInterval.Year |
"yyyy" | Year |
引数には DayOfWeek
、次のいずれかの設定を指定できます。
列挙値 | 値 | 説明 |
---|---|---|
FirstDayOfWeek.System |
0 | システム設定で指定された週の最初の曜日 |
FirstDayOfWeek.Sunday |
1 | 日曜日 (既定値) |
FirstDayOfWeek.Monday |
2 | 月曜日 (ISO 標準 8601、セクション 3.17 に準拠) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | 水曜日 |
FirstDayOfWeek.Thursday |
5 | Thursday |
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
Date1
をDate2
減算して、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
必須です。 計算で使用する 1 番目の日付/時刻の値。
- Date2
- Object
必須です。 計算で使用する 2 番目の日付/時刻の値。
- DayOfWeek
- FirstDayOfWeek
省略可能。 週の最初の曜日を指定する FirstDayOfWeek 列挙体から選択する値。 指定しない場合は、Sunday が使用されます。
- WeekOfYear
- FirstWeekOfYear
省略可能。 年の最初の週を指定する FirstWeekOfYear 列挙体から選択する値。 指定しない場合は、Jan1 が使用されます。
戻り値
2 つの Date
値の間に含まれる時間間隔の数を指定する long 型の値。
例外
該当する 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
を減算して差を生成します。 呼び出し元プログラムでは、どちらの値も変更されません。戻り値。 と
Date2
はDate
データ型であるためDate1
、システム タイマーで 100 ナノ秒のティックに正確な日付と時刻の値を保持します。 ただし、DateDiff
常に時間間隔の数を値としてLong
返します。が より
Date2
DateDiff
後の日付と時刻を表す場合Date1
は、負の数を返します。日の間隔。 が に
DateInterval.DayOfYear
設定されている場合Interval
、時間間隔の意味のある単位ではないのでDayOfYear
、 と同じようにDateInterval.Day
扱われます。週の間隔。 が に
DateInterval.WeekOfYear
設定されている場合Interval
、戻り値は を含む週の最初の日から を含む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)
前の例では、
DateDiff
2 つの日付の差が 7 日未満であるため にwD
0 を返しますが、それぞれのカレンダー週の最初の日には 7 日間の差があるため、 に 1wY
を返します。より大きな間隔。 が に
DateInterval.Year
設定されている場合Interval
、戻り値は とDate2
の年部分Date1
から純粋に計算されます。 同様に、 のDateInterval.Month
戻り値は、引数の年と月の部分から、およびDateInterval.Quarter
2 つの日付を含む四半期から純粋に計算されます。たとえば、12 月 31 日から翌年の 1 月 1 日を比較すると、
DateDiff
最大で 1 日しか経過していなくても、、DateInterval.Quarter
、またはDateInterval.Month
に対DateInterval.Year
して 1 が返されます。複数の時代 (年号) を持つ日本語などの文化の場合、
DateDiff
年の差が 2 つ以上の時代にまたがっている場合、メソッドは年の差を返しません。 代わりに、次の例に示すように、 プロパティによってYear返される値の差を計算できます。date2.Year - date1.Year
その他の間隔。 すべての
Date
値は 構造体で DateTime サポートされているため、そのメソッドを使用すると、時間間隔を検索するための追加のオプションが提供されます。 たとえば、オーバーロードされた形式DateTime.Subtractのいずれかで メソッドをSubtract
使用できます。変数からDate
をTimeSpan減算して別Date
の値を返しDateTime.Subtract、値をDate
減算して を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" | Month |
DateInterval.Quarter |
"q" | Quarter |
DateInterval.Second |
"s" | Second |
DateInterval.Weekday |
"w" | 週 |
DateInterval.WeekOfYear |
"ww" | カレンダーの週 |
DateInterval.Year |
"yyyy" | Year |
引数には DayOfWeek
、次のいずれかの設定を指定できます。
列挙値 | 値 | 説明 |
---|---|---|
FirstDayOfWeek.System |
0 | システム設定で指定された週の最初の曜日 |
FirstDayOfWeek.Sunday |
1 | 日曜日 (既定値) |
FirstDayOfWeek.Monday |
2 | 月曜日 (ISO 標準 8601、セクション 3.17 に準拠) |
FirstDayOfWeek.Tuesday |
3 | Tuesday |
FirstDayOfWeek.Wednesday |
4 | 水曜日 |
FirstDayOfWeek.Thursday |
5 | Thursday |
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
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示