VBA時間計算 可返回當前日期、時間、日期時間加減等(vba時間計算模型)
返回當前日期、時間、格式化顯示日期、根據年月日返回日期、根據小時分種返回時間、計算兩個日期相隔天數,月數,年數,小時,分種,秒,感興趣的朋友可以看看。

Option Explicit
Dim k
Sub ttt1()
Application.OnTime TimeValue("15:46:00"), "A"
End Sub
Sub a()
MsgBox "test"
End Sub
Sub ttt2()
Application.OnTime Now + TimeValue("00:00:02"), "A"
End Sub
Sub 時間顯示()
Dim x
If k = 1 Then
k = 0
End
End If
Range("a1") = Format(Now, "h:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "時間顯示"
x = DoEvents
End Sub
Sub 結束時間顯示()
k = 1
End Sub
'1 返回當前日期、時間(指本機系統設置的日期和時間)
Sub t1()
Debug.Print Date '返回當前日期
Debug.Print Time '返回當前時間
Debug.Print Now ?'返回當前日期+時間
End Sub
'2 格式化顯示日期
Sub t2()
Debug.Print Format(Now, "yyyy-mm-dd")
Debug.Print Format(Now, "yyyy年mm月dd日")
Debug.Print Format(Now, "yyyy年mm月dd日 h:mm:ss")
Debug.Print Format(Now, "d-mmm-yy") '英文月份
Debug.Print Format(Now, "d-mmmm-yy") '英文月份
Debug.Print Format(Now, "aaaa") '中文星期
Debug.Print Format(Now, "ddd") '英文星期前三個字母
Debug.Print Format(Now, "dddd") '英文星期完整顯示
End Sub
'3 根據年月日返回日期
Sub t3()
Debug.Print VBA.DateSerial(2011, 10, 1)
End Sub
'4 根據小時分種返回時間
Sub t4()
Debug.Print VBA.TimeSerial(1, 2, 1)
End Sub
'5 返回年月日小時分秒
Sub t5()
Dim d
d = "2011-10-28 01:10:03"
Debug.Print Year(d) & "年"
Debug.Print Month(d) & "月"
Debug.Print Day(d) & "日"
Debug.Print Hour(d) & "時"
Debug.Print VBA.Minute(d) & "分"
Debug.Print Second(d) & "秒"
End Sub
'1 計算兩個日期相隔天數,月數,年數,小時,分種,秒
Sub tt1()
Dim d1, d2 As Date
d1 = #11/21/2011#
d2 = #12/1/2011#
Debug.Print "相隔" & (d2 - d1) & "天"
Debug.Print "相隔" & DateDiff("d", d1, d2) & "天"
Debug.Print "相隔" & DateDiff("m", d1, d2) & "月"
Debug.Print "相隔" & DateDiff("yyyy", d1, d2) & "年"
Debug.Print "相隔" & DateDiff("q", d1, d2) & "季"
Debug.Print "相隔" & DateDiff("w", d1, d2) & "周"
Debug.Print "相隔" & DateDiff("h", d1, d2) & "小時"
Debug.Print "相隔" & DateDiff("n", d1, d2) & "分種"
Debug.Print "相隔" & DateDiff("s", d1, d2) & "秒"
End Sub
Sub tt2() '計算兩時間的差
Dim t, x
t = Timer
For x = 1 To 10000000
Next x
Debug.Print Timer - t
End Sub
'2 日期時間加減
Sub tt3()
Dim d1, d2 As Date
d1 = "2001-10-1 00:00:00"
Debug.Print VBA.DateAdd("d", 10, d1) '加上10天
Debug.Print VBA.DateAdd("m", 10, d1) '加上10個月
Debug.Print VBA.DateAdd("yyyy", 10, d1) '加上10年
Debug.Print VBA.DateAdd("yyyy", -10, d1) '減少10年
Debug.Print VBA.DateAdd("h", 10, d1) '加上10小時后的時間
Debug.Print VBA.DateAdd("n", 10, d1) '加上10分種后的時間
Debug.Print VBA.DateAdd("s", 10, d1) '加上10秒后的時間
End Sub
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。