重点内容
适用版本
桌面版通用(Excel 365 / 2021 / 2019 等)。
算日期差(天数)
Dim firstDate As Date, secondDate As Date, n As Integer
firstDate = DateValue("Jan 19, 2020")
secondDate = DateValue("Feb 25, 2020")
n = DateDiff("d", firstDate, secondDate)
MsgBox n第一个参数 "d" 代表用「天」当单位,结果是两个日期之间差了几天。
📌 其他常用单位:"ww" 周、"m" 月、"yyyy" 年。
算时间差(小时数)
Dim firstTime As Date, secondTime As Date, x As Integer
firstTime = TimeValue("2:15:00 PM")
secondTime = TimeValue("5:15:00 PM")
x = DateDiff("h", firstTime, secondTime)
MsgBox x第一个参数 "h" 代表用「小时」当单位。
📌 其他常用单位:"n" 分钟、"s" 秒。
单位代号对照表
| 代号 | 单位 |
|---|---|
| yyyy | 年 |
| m | 月 |
| ww | 周 |
| d | 天 |
| h | 小时 |
| n | 分钟 |
| s | 秒 |
学完你会
常见错误
- 单位代号写错(比如把月份的 "m" 跟分钟的 "n" 搞混),算出来的差值单位不对
- 忘记
DateDiff第二个参数要比第三个参数早,顺序颠倒会算出负数 - 日期字符串格式没有用
DateValue/TimeValue转换,直接拿文字比较,得不到正确结果
Sources
Blog / Website: