サポート > リポジトリ > 関数 > 日付時刻関数
ja | en

日付時刻処理に関する33個の関数を紹介します。

BETWEENTIME |  BOMONTH |  CLEARHMS |  DATE |  DATEDIF |  DATESTRING |  DATETIMEVALUE |  DATEVALUE |  DAY |  EDATE |  EOMONTH |  FISCALYEAR |  HOUR |  MINUTE |  MONTH |  MOVEDAY |  MOVEHOUR |  MOVEMINUTE |  MOVEMONTH |  MOVESECOND |  MOVEYEAR |  NETWORKDAYS |  NOW |  SECOND |  TIME |  TIMEVALUE |  TODATE |  TODAY |  TOTIME |  WEEKDAY |  WEEKNUM |  WORKDAY |  YEAR

BETWEENTIME(日付型, 日付型)

二つの日付型項目の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。

BETWEENTIME(${date1}, ${date2})

BETWEENTIME(時刻型, 時刻型)

二つの時刻型項目の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。

BETWEENTIME(${time1}, ${time2})

BETWEENTIME(日付時刻型, 日付時刻型)

二つの日付時刻型項目の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。

BETWEENTIME(${datetime1}, ${datetime2})

BETWEENTIME(文字型, 文字型)

文字列表記された二つの日付型項目の時間差をとります。戻り値の型は時刻型です。なお、24 時間を超過した分は切り捨てられます。

BETWEENTIME(${datestr1}, ${datestr2})

BOMONTH(日付)

月初の日付を返します。戻り値の型は日付型です。

BOMONTH(${date1})

BOMONTH(日付, 月数)

月初の日付を返します。指定した月数分だけ前後させます。(第二引数に負数を指定することで、前に移動させることができます。)戻り値の型は日付型です。

BOMONTH(${date1}, 1)

CLEARHMS(日付)

日付の時分秒をゼロクリアします。

CLEARHMS(${dateitem})
CLEARHMS(TODAY())

DATE(日付)

DATE(年,月,日)

年月日で表現される日付を、シリアル値に変換します。ここでシリアル値とは、1900年1月1日を起点(1) とした経過日数です。戻り値の型は整数型です。

例:日付型項目のシリアル値を求める

DATE(${date1})

動作
DATE(1900,1,1) 1
DATE(2000,1,1) 36526

なお Excel は 1900 年をうるう年とみなすという仕様です。この関数もその仕様に合わせています。

この関数を応用して、二つの日付の差を求めることができます。具体的には次のように記述します。
DATE(${date1})-DATE(${date2})

DATEDIF(日付1, 日付2, 単位)

開始日と終了日との日数差を調べて、指定した単位で表示します。単位は "Y" (年数), "M" (月数), "D" (日数), "YM" (年数表示での端数の月数), "YD" (年数表示での端数の日数), "MD" (月数表示での端数の日数) です。戻り値の型は整数型です。

DATEDIF(${date1}, ${date2}, "Y")

動作
DATEDIF(${birth}, TODAY() ,"Y") 37 (生年月日が 1970/12/9 で、TODAY() が 2008/2/25 の場合)
DATEDIF(${birth}, TODAY() ,"YM") 2 (生年月日が 1970/12/9 で、TODAY() が 2008/2/25 の場合)

この関数を使うと、「何年何ヶ月」という自動計算を行わせることができます。具体的には次のような式になります。
DATEDIF(${birth}, TODAY() ,"Y") + "年" + DATEDIF(${birth}, TODAY() ,"YM") + "ヶ月"
単位が "D", "YD", "MD" の場合、Excel とは違った値を返すことがあります。これは Excel 側の不具合であることが知られていますので、まったく同じにならないことに留意してご使用ください。

DATESTRING(日付)

日付型の値を和暦に変換します。和暦の書式は「(元号)NN年M月D日」です。戻り値の型は文字列型です。

DATESTRING(${date1})

DATETIMEVALUE(日付時刻を表す文字列)

日付時刻を表す文字列を日付時刻型に変換します。"yyyy-MM-dd HH:mm:ss" および "yyyy/MM/dd HH:mm:ss" 表記が利用できます。戻り値の型は日付時刻型です。

DATETIMEVALUE(${timestr})

DATEVALUE(日付を表す文字列)

日付を表す文字列を日付型に変換します。"yyyy-MM-dd" や "yyyy/MM/dd" といった表記が利用できます。戻り値の型は日付型です。

DATEVALUE(${datestr})

DAY(日付)

引数の日付型の値から、日を求めます。(月は 1 から 31 までの範囲です。)戻り値の型は整数型です。

DAY(${date1})

EDATE(日付, 月数)

指定した月数分だけ前後した日付を返します。戻り値の型は日付型です。

EDATE(${date1}, 3)

EOMONTH(日付)

月末の日付を返します。請求日項目に対する支払い期限の設定などに利用できます。戻り値の型は日付型です。

EOMONTH(${date1})

EOMONTH(日付, 月数)

月末の日付を返します。指定した月数分だけ前後させます。(第二引数に負数を指定することで、前に移動させることができます。)戻り値の型は日付型です。

EOMONTH(${date1}, 1)

FISCALYEAR(日付)

入力日付(日付型)に対する「年度」を返します。戻り値の型は整数型です。

FISCALYEAR(${date1})

動作
FISCALYEAR(DATEVALUE("2009-1-1")) 2008
FISCALYEAR(DATEVALUE("2009-3-31")) 2008
FISCALYEAR(DATEVALUE("2009-4-1")) 2009

HOUR(日付)

引数の日付型の値から、時間を求めます。

HOUR(${date1})

MINUTE(日付)

引数の日付型の値から、分を求めます。

MINUTE(${date1})

MONTH(日付)

引数の日付型の値から、月を求めます。(月は 1 から 12 までの範囲です。)戻り値の型は整数型です。

MONTH(${date1})

MOVEDAY(日付, 日数)

指定した日数分だけ前後した日付を返します。(負数を与えると前に戻ります。) 戻り値の型は日付型です。

MOVEDAY(${dateitem}, 1)

MOVEHOUR(日付時刻, 時)

指定した時間(時)だけ前後した日付時刻を返します。(負数を与えると前に戻ります。) 戻り値の型は日付時刻型です。

MOVEHOUR(${datetimeitem}, 1)

MOVEMINUTE(日付時刻, 分)

指定した時間(分)だけ前後した日付時刻を返します。(負数を与えると前に戻ります。) 戻り値の型は日付時刻型です。

MOVEMINUTE(${datetimeitem}, 1)

MOVEMONTH(日付, 月数)

指定した月数分だけ前後した日付を返します。(負数を与えると前に戻ります。) 戻り値の型は日付型です。
この関数は EDATE と同じ動作となります。

MOVEMONTH(${dateitem}, 1)

MOVESECOND(日付時刻, 秒)

指定した時間(秒)だけ前後した日付時刻を返します。(負数を与えると前に戻ります。) 戻り値の型は日付時刻型です。

MOVESECOND(${datetimeitem}, 1)

MOVEYEAR(日付, 年数)

指定した年数分だけ前後した日付を返します。(負数を与えると前に戻ります。) 戻り値の型は日付型です。

MOVEYEAR(${dateitem}, 1)

NETWORKDAYS(開始日,終了日)

指定された2つの日付の期間に含まれる稼働日(土・日・祝日を除外した営業日)の日数を返します。

休日はWagbyに標準で同梱されている休日モデル(jholiday)を利用します。

NOW()

今日の日付時刻を返します。戻り値は日付時刻型です。

同一モデル内の複数項目に NOW() を適用した場合、すべての NOW() の戻り値は同じとなることが保証されます。(描画のタイミングによって、ある項目の NOW() は 00 秒で、別の項目の NOW() は 01 秒になるということはありません。)

NOW()

SECOND(日付)

引数の日付型の値から、秒を求めます。

SECOND(${date1})

TIME(時, 分, 秒)

指定された時刻に対応する時間シリアル値(小数)を返します。これは「1」を 24 時間とみなした小数値です。戻り値の型は 8 バイト浮動小数点型です。
23 を超える時間指定は、24 で徐算された剰余が用いられます。
59 を超える分指定は、時と分に変換されます。
59 を超える秒指定は、時、分、秒に変換されます。

TIME(${hour}, ${minute}, ${second})

TIME(時刻型)

時刻型項目の値を、時間シリアル値(小数)に変換します。戻り値の型は 8 バイト浮動小数点型です。

TIME(${timevalue})

TIMEVALUE(時刻を表す文字列)

時刻を表す文字列を時刻型に変換します。"HH:mm" や "HH:mm:ss" といった表記が利用できます。戻り値の型は時刻型です。

TIMEVALUE(${timestr})

TODATE(日付時刻型)

日付時刻型を日付型に変換します。

TODATE(${datetime})

TODAY()

今日の日付を返します。戻り値は「日付型」です。

同一モデル内の複数項目に TODAY() を適用した場合、すべての TODAY() の戻り値は同じとなることが保証されます。(描画のタイミングによって、ある項目の TODAY() は 1月1日で、別の項目の TODAY() は 1月2日になるということはありません。)

TODAY()

TOTIME(日付時刻型)

日付時刻型を時刻型に変換します。

TOTIME(${datetime})

WEEKDAY(日付)

日付を曜日に対応する数値に変換します。日曜日が 1 で、土曜日が 7 になります。戻り値の型は整数型です。

WEEKDAY(${date1})

WEEKDAY(日付, 種類)

日付を曜日に対応する数値に変換します。戻り値の型は整数型です。
種類に 1 を指定すると、日曜日が 1 で、土曜日が 7 になります。
種類に 2 を指定すると、月曜日が 1 で、日曜日が 7 になります。
種類に 3 を指定すると、月曜日が 0 で、日曜日が 6 になります。

引数の日付が null の場合は、-1 を返します。

WEEKDAY(${date1}, 1)

動作
WEEKDAY(d,1) 4
WEEKDAY(d,2) 3
WEEKDAY(d,3) 2

WEEKNUM(日付)

日付がその年の第何週目に当たるかを返します。週の始まりを日曜日とします。戻り値の型は整数型です。

WEEKNUM(${date1})

WORKDAY(開始日,日数)

ある日付から、指定された日数だけ前後した日付を返します。土・日・祝日を除外し、営業日だけで計算します。戻り値の型は日付型です。

休日はWagbyに標準で同梱されている休日モデル(jholiday)を利用します。

YEAR(日付)

引数の日付型の値から、年を求めます。戻り値の型は整数型です。

YEAR(${date1})