#053 現在時刻の指定秒数後の日時を得るには? VBA

現在時刻の指定秒数後の日時を求める例として、現在時刻から 1234 秒後の日時を求めてみます。

まず DateAdd関数 を使う例です。この場合では、DateAdd関数の一番目の引数に "s" を指定することによって "1234" を秒数として現在時刻に加算してくれます(#47参照)。
Debug.Print DateAdd("s", 1234, Now)

デバッグウィンドウで、? Now [Enter] とすると、その値は "99/04/01 10:10:10" のように表示されますが、実はNow関数値は倍精度浮動小数点数型として扱うことができ、整数部分が"日"を表しています。これを利用すると DateAdd関数 を使わずに直接的な数値演算で指定秒数後の日時を計算することができます

1日は24Hr×60Min×60Sec=86400秒ですので、1234秒は(1234÷86400)日となり、これを現在日時の値に足せば1234秒後の日時を得ることができます。
Debug.Print Now + 1234 / 86400

※Now関数に限らず、日付型の変数や定数、関数はすべて倍精度浮動小数点数型として扱うことができます。
※秒だけでなく、分、時、日、週などの加減算も同様に行うことができます。しかし月や年については、1ヶ月や1年の日数が月・年によって異なりますので、DateAdd関数などを使った方が確実です。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved