#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved