时间和日期关键字
作用 | 关键字 |
---|---|
设置当前日期或时间。 | Date ,Now, Time |
计算日期。 | DateAdd, DateDiff, DatePart |
返回日期。 | DateSerial, DateValue |
生成时间。 | TimeSerial, TimeValue |
设置日期或时间。 | Date, Time |
计时。 | Timer |
1、设置当前日期或时间
Now 显示日期、星期和时间;Date 仅显示日期和星期;Time 仅显示时间
命令:MsgBox Now
命令:MsgBox Date
命令:MsgBox Time
2、计算日期
注:interval 参数、firstdayofweek 参数的设定值和 firstweekofyear 参数的设定值见附录
2.1 DateAdd(interval, number, date)
可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。
实例:将 1 月31 日加上一个月
DateAdd(m, 1, 31-Jan-95)
说明:
返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。
如果 date 是 1996 (闰年)年 1 月 31 日,返回值是 1996 年 2 月 29 日。
如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。
2.2 DateDiff(interval, date1, date2 [, firstdayofweek [, firstweekofyear]])
表示两个指定日期间的时间间隔数目,也可以对日期加上或减去指定的时间间隔。
以周为例:
interval 为 w 时,如 date1 为周一,则计算到 date2 为止星期一的个数,包含 date2 不包含 date1。
interval 为 ww 时,则计算 date1 和 date2 间星期日的次数,包含 date2 不包含 date1。
如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。
如果 date1 或 date2 用双引号 (' ') 括起来,且无年份,则当前年份会插入到代码之中。
2.3 DatePart(interval, date[,firstdayofweek[, firstweekofyear]])
DatePart 函数可以用来计算日期并返回指定的时间间隔。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。
如果 date 用双引号 (' ') 括起来,且无年份,则当前年份会插入到代码之中。
3、返回日期
DateSerial(year, month, day)
注意:日的取值范围在1-31之间,月的取值范围在1-12之间。year 参数的数值若介于 0 与 29 之间,则将其解释为 2000–2029年,若介于 30 和 99 之间则解释为1930–1999年。而对所有其它 year 参数,则请用四位数值表示(如 1800)。
当任何一个参数的取值超出可接受的范围时,它会适时进位到下一个较大的时间单位。例如,如果指定了 35 天,则这个天数被解释成一个月加上多出来的日数,多出来的日数将由其年份与月份来决定。如果一个参数值超出 -32,768 到 32,767 的范围,就会导致错误发生。
Sub 返回日期 ()
MsgBox DateSerial(1969, 2, 12) ' 返回日期。
End Sub
DateValue(date)
说明:
表示从 100 年 1 月 1 日到 9999 年 12 月 31 日之间的一个日期。
如果 date 中略去了年这一部分,DateValue 就会使用由计算机系统日期设置的当前年份。
如果 date 参数包含时间信息,则 DateValue 不会返回它。但是,如果 date 包含无效时间信息(如 89:98),则会导致错误发生。
如果某一时间超过自身的范围,如日赋值为32则报错,与上一个函数有所不同。
示例:
MsgBox DateValue('February 12, 1969') ' 返回日期。
MsgBox DateValue('February 32, 1969') ' 报错
附录:
interval 参数的设定值如下:
设置 | 描述 |
---|---|
yyyy | 年 |
q | 季 |
m | 月 |
y | 一年的日数 |
d | 日 |
w | 一周的日数 |
ww | 周 |
h | 时 |
n | 分钟 |
s | 秒 |
firstdayofweek 参数的设定值如下:
常数 | 值 | 描述 |
---|---|---|
vbUseSystem | 0 | 使用 NLS API 设置。 |
vbSunday | 1 | 星期日(缺省值) |
vbMonday | 2 | 星期一 |
vbTuesday | 3 | 星期二 |
vbWednesday | 4 | 星期三 |
vbThursday | 5 | 星期四 |
vbFriday | 6 | 星期五 |
vbSaturday | 7 | 星期六 |
firstweekofyear 参数的设定值如下:
常数 | 值 | 描述 |
---|---|---|
vbUseSystem | 0 | 使用 NLS API 设置。 |
vbFirstJan1 | 1 | 从包含 1 月 1 日的星期开始(缺省值)。 |
vbFirstFourDays | 2 | 从第一个其大半个星期在新的一年的一周开始。 |
vbFirstFullWeek | 3 | 从第一个无跨年度的星期开始。 |
喜大普奔,公众号文章底部有留言功能了,动动手指试一试吧,谁会是第一个吃螃蟹的人呢???
(本节完)
联系客服