日付や時刻の差分を求めるには、DateDiff関数を使います。
例
たとえば、2017/7/1と2017/7/20の差分(日数)を求めるには、次のように記述します。Sub GetDateTimeDiff() Dim dt1 As Date Dim dt2 As Date dt1 = CDate("2017/07/01") dt2 = CDate("2017/07/20") MsgBox DateDiff("d", dt1, dt2) End Sub第1引数で算出したい時間の間隔を指定します。この例では日数ですので"d"を指定しています。この設定値については下記の表を参照してください。
実行結果
東京オリンピック開幕まであと何日か?
ここでこのDateDiffを利用して、東京オリンピック開幕までの残り時間を求めてみたいと思います。いろいろ方法はあると思いますが、ここでは開幕式の時刻(2020/7/24 20:00)までの秒数を求めてから日数、時間、分、秒を算出しています。
Sub GetTokyoOlympicsDiff() Dim timeSpan As Long '東京オリンピック開幕式までの残り時間(秒)を求める timeSpan = DateDiff("s", Now, "2020/7/24 20:00") Dim d As Integer Dim h As Integer Dim m As Integer Dim s As Integer '残り時間(秒)から日数、時間、分、秒を求める d = Int(timeSpan / 86400) h = Int((timeSpan Mod 86400) / 3600) m = Int((timeSpan Mod 3600) / 60) s = (timeSpan Mod 3600) Mod 60 MsgBox "東京オリンピック開幕まで、あと " & _ d & "日" & _ h & "時間" & _ m & "分" & _ s & "秒" End Sub
実行結果
第1引数(時間間隔)の設定値
設定 | 説明 |
---|---|
yyyy | 年 |
q | 四半期 |
m | 月 |
y | 通日 |
d | 日 |
w | 平日 |
ww | 週 |
h | 時間 |
n | 分 |
s | 秒 |
<参考サイト>
DateDiff 関数 | Office VBA 言語リファレンス
2020年 東京オリンピックへのカウントダウン!
スポンサーリンク