VB6・VBA関数メモ:DateAdd関数

DateAdd関数についてメモしておきます。
Date型に対して、指定した日数や時間、分数を加算する関数になります。

1ヶ月の日数は28〜31日と一定ではない為、月が変わる時の計算を自力でやるのは大変かと思います。
この関数を覚えておくと日時の計算が非常に便利です。
(私は昔、この関数を知らずに凄い大変な処理をした記憶が…;)

また、月の末日の日付を調べる際にも使えます。


概要

DateAdd(Interval As String, Number As Double, Date)
機能 指定日時に指定した時間間隔を加算して返す
引数 Interval 加算する対象 String型
Number 日時に加算する値 Double型
Date 加算対象の日時 Variant型
戻り値 加算後の日時 Variant型(Date型)


使用例

説明 記述例 出力
年後の日付を取得 DateAdd("yyyy", 5, "2011/11/11") #2016/11/11#
四半期後の日付を取得 DateAdd("q", 5, "2011/11/11") #2013/02/11#
ヶ月後の日付を取得 DateAdd("m", 5, "2011/11/11") #2012/04/11#
日後の日付を取得 DateAdd("d", 5, "2011/11/11") #2011/11/16#
日後の日付を取得
※年間通算日を加算するようですが、
"d"と同じ動きをするようです
DateAdd("y", 5, "2011/11/11") #2011/11/16#
日後の日付を取得
※週日を加算するようですが、
"d"と同じ動きをするようです
DateAdd("w", 5, "2011/11/11") #2011/11/16#
週間後の日付を取得 DateAdd("ww", 5, "2011/11/11") #2011/12/16#
時間後の時刻を取得 DateAdd("h", 5, "11:11:11") #16:11:11#
分後の時刻を取得 DateAdd("n", 5, "11:11:11") #11:16:11#
秒後の時刻を取得 DateAdd("s", 5, "11:11:11") #11:11:16#


応用例

説明 記述例 出力
月の末日を調べる
(月の1日から1日減算する)
DateAdd("d", -1, "2011/11/1") #2011/10/31#


動作検証

説明 記述例 出力
マイナスを指定すれば減算する DateAdd("yyyy", -5, "2011/11/11") #2006/11/11#
西暦100年以前になる場合はエラー DateAdd("d", -1, "100/1/1") エラー
存在しない日付に対して
加算するとエラー
DateAdd("d", 1, "2011/2/31") エラー


コメント
コメントする








    
この記事のトラックバックURL
トラックバック