VBA时间计算 可返回当前日期、时间、日期时间加减等(vba时间间隔)

fangcloud 3945 2022-08-08

本文转载自网络公开信息

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

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表亿方云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱daifeng@360.cn 处理。
上一篇:企业数据备份策略规划设计(备份策略配置和操作)
下一篇:数据更改后,透视表中数据怎样同步更新(数据透视表的数据怎么自动更新)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~