エクセルVBAで使うコードの備忘録。VBAでPC上の現在日時・時刻を取得するコード。Now・Date・Time関数の違いについて。
Now関数:現在の日時を取得する
現在の日時(日付と時間)を取得するにはNow関数を使用します。引数は必要ありません。戻り値は日付型(Date型)です。
構文
'--- 変数dに現在日時を取得 ---'
Dim d as Date
d = Now
Date関数:現在の日付を取得する
現在の日付(時間を除く)を取得するにはDate関数を使用します。使い方はNow関数と同様で、引数は必要なく、戻り値のタイプは日付型(Date型)です。
構文
'--- 変数dに現在日付を取得 ---'
Dim d as Date
d = Date
Time関数:現在の時刻を取得する
現在の時刻(日付を除く)を取得するにはTime関数を使用します。この関数も、使い方は上記の関数と同様で、引数は必要なく、戻り値のタイプは日付型(Date型)になります。
構文
'--- 変数dに現在時刻を取得 ---'
Dim d as Date
d = Time
Now・Date・Time関数の比較
上記でもそれぞれ説明しましたが、具体的にそれぞれの関数の戻り値がどう違うのか見てみましょう。下記のようなサンプルコードを実行すると、各関数の戻り値はコメントに書いたようになります。
サンプルコード
Public Sub TimeFuncTest()
'--- 戻り値を格納する変数 ---'
Dim d1 as Date
Dim d2 as Date
Dim d3 as Date
'--- 日時を取得 ---'
d1 = Now '戻り値は「2019/05/01 08:21:43」みたいな値になる
'--- 日付を取得 ---'
d2 = Date '戻り値は「2019/05/01」みたいな値になる
'--- 時刻を取得 ---'
d3 = Time '戻り値は「08:21:43」みたいな値になる
End Sub