VBA時(shí)間計(jì)算 可返回當(dāng)前日期、時(shí)間、日期時(shí)間加減等(vba中時(shí)間怎么表示)
返回當(dāng)前日期、時(shí)間、格式化顯示日期、根據(jù)年月日返回日期、根據(jù)小時(shí)分種返回時(shí)間、計(jì)算兩個(gè)日期相隔天數(shù),月數(shù),年數(shù),小時(shí),分種,秒,感興趣的朋友可以看看。

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 時(shí)間顯示()
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"), "時(shí)間顯示"
x = DoEvents
End Sub
Sub 結(jié)束時(shí)間顯示()
k = 1
End Sub
'1 返回當(dāng)前日期、時(shí)間(指本機(jī)系統(tǒng)設(shè)置的日期和時(shí)間)
Sub t1()
Debug.Print Date '返回當(dāng)前日期
Debug.Print Time '返回當(dāng)前時(shí)間
Debug.Print Now ?'返回當(dāng)前日期+時(shí)間
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") '英文星期前三個(gè)字母
Debug.Print Format(Now, "dddd") '英文星期完整顯示
End Sub
'3 根據(jù)年月日返回日期
Sub t3()
Debug.Print VBA.DateSerial(2011, 10, 1)
End Sub
'4 根據(jù)小時(shí)分種返回時(shí)間
Sub t4()
Debug.Print VBA.TimeSerial(1, 2, 1)
End Sub
'5 返回年月日小時(shí)分秒
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) & "時(shí)"
Debug.Print VBA.Minute(d) & "分"
Debug.Print Second(d) & "秒"
End Sub
'1 計(jì)算兩個(gè)日期相隔天數(shù),月數(shù),年數(shù),小時(shí),分種,秒
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) & "小時(shí)"
Debug.Print "相隔" & DateDiff("n", d1, d2) & "分種"
Debug.Print "相隔" & DateDiff("s", d1, d2) & "秒"
End Sub
Sub tt2() '計(jì)算兩時(shí)間的差
Dim t, x
t = Timer
For x = 1 To 10000000
Next x
Debug.Print Timer - t
End Sub
'2 日期時(shí)間加減
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個(gè)月
Debug.Print VBA.DateAdd("yyyy", 10, d1) '加上10年
Debug.Print VBA.DateAdd("yyyy", -10, d1) '減少10年
Debug.Print VBA.DateAdd("h", 10, d1) '加上10小時(shí)后的時(shí)間
Debug.Print VBA.DateAdd("n", 10, d1) '加上10分種后的時(shí)間
Debug.Print VBA.DateAdd("s", 10, d1) '加上10秒后的時(shí)間
End Sub
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。