DateDiff 関数

2 つの指定した日付の時間間隔を表すバリアント型 (内部処理形式 LongVariant) の値を指定します。

例を参照する

構文

DateDiff ( interval, date1, date2 [, firstdayofweek] [, firstweekofyear] )

DateDiff 関数の構文には、次の引数があります。

ヒント: Access 2010 では、式ビルダーで IntelliSense を使用できるので、式に必要な引数を確認することができます。 

引数

説明

interval

必ず指定します。date1date2 の時間間隔の計算に使用する時間単位を表す文字列式を指定します。

date1date2

必須。Variant (Date)。計算の対象となる 2 つの日付を指定します。

firstdayofweek

省略可能。週の始まりの曜日を表す定数です。省略すると、日曜日を指定したものと見なされます。

firstweekofyear

省略可能。年の第 1 週を指定する定数です。省略すると、1 月 1 日を含む週が第 1 週と見なされます。


設定

interval 引数の設定は次のとおりです。

設定

説明

yyyy

q

四半期

m

y

年間通算日

d

w

曜日

ww

h

n

s


ページの先頭へ

firstdayofweek 引数の設定は次のとおりです。

定数

説明

vbUseSystem

0

NLS API の設定を使います。

vbSunday

1

日曜日 (既定)

vbMonday

2

月曜日

vbTuesday

3

火曜日

vbWednesday

4

水曜日

vbThursday

5

木曜日

vbFriday

6

金曜日

vbSaturday

7

土曜日


定数

説明

vbUseSystem

0

NLS API の設定を使います。

vbFirstJan1

1

1 月 1 日が含まれる週から開始します (既定)。

vbFirstFourDays

2

新年の少なくとも 4 日が含まれる最初の週から開始します。

vbFirstFullWeek

3

年の最初の完全な週から開始します。


解説

DateDiff 関数を使用して、2 つの日付の間に指定した時間間隔がどのくらい存在するかを調べます。たとえば、DateDiff を使用して、2 つの日付間の日数や、今日から年末までの週数を計算することができます。

date1 date2 の間の日数を計算するには、年 ("y") または日 ("d") の日付を使用できます。interval が曜日 ("w") の場合、DateDiff は 2 つの日付間の週数を返します。date1 が月曜日の場合、DateDiff では date2 までの月曜日の数がカウントされます。date1 ではなく date2 がカウントされます。一方、interval が週 ("ww") の場合、DateDiff 関数は 2 つの日付間のカレンダーの週数を返します。date1date2 間の日曜日の数がカウントされます。DateDiff では、date2 が日曜日の場合は、date2 がカウントされます。date1 が日曜日の場合でも date1 はカウントされません。

date1 date2 よりも後の時点を示す場合、DateDiff 関数は負の数を返します。

firstdayofweek 引数は、"w" および "ww" の間隔記号を使用する計算に影響します。

date1 または date2 が日付リテラルの場合、指定した年はその日付の一部として恒久的に保存されます。ただし、date1 または date2 が二重引用符 (" ") で囲まれていて、年を省略した場合、date1 または date2 の式が評価されるたびに、現在の年がコードに挿入されます。これにより、別の年でも使用できるコードを記述することができます。

連続する年の 12 月 31 日と 1 月 1 日を比較すると、1 日が経過しただけの場合でも、年 ("yyyy") の DateDiff は 1 を返します。

注: Calendar プロパティの設定がグレゴリオ暦の場合、date1date2 ではグレゴリオ暦の日付を指定する必要があります。カレンダーがイスラム暦の場合は、イスラム暦で日付を指定する必要があります。

ページの先頭へ

式で DateDiff 関数を使用する    式を使用できるあらゆる箇所で DateDiff 関数を使用できます。たとえば、顧客の注文を入力するために使用するフォームがあるとします。Orders テーブルには ReceiveBefore というフィールドがあります。このフィールドには、顧客に納品するために必要な日付が含まれます。DateDiff 関数とフォームのテキスト ボックスを使用して、出荷するまでの残り日数を表示することができます。

出荷までに 10 日間かかる場合、テキスト ボックスの [コントロール ソース] プロパティに次のように設定します。

=DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10

フォーム ビューでフォームを開くと、テキスト ボックスに出荷までの残り日数が表示されます。納品日までの日数が 10 日未満の場合、テキスト ボックスは負の数であり、即時に出荷する場合、何日後かを指定します。

VBA コードで DateDiff 関数を使う    

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、DateDiff 関数を使用して、指定された日付から今日までの日数を表示します。

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

注記: 

  • 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

  • この記事の英語版を参照するには、ここ をクリックしてください。Microsoft コミュニティの他のメンバーと一緒に、Community Translation Framework (CTF) を使ったこの記事の改善にご協力ください。記事内の文章にマウス ポインターを合わせて、CTF ウィジェットの [翻訳を改善します] をクリックしてください。CTF の詳細については、ここ をクリックしてください。CTF を使用すると弊社の サービス利用規約 に同意したことになります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×