分享

【025】时间日期(上)

 L罗乐 2017-04-03

时间和日期关键字


作用关键字
设置当前日期或时间。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 参数的设定值如下:


常数描述
vbUseSystem0使用 NLS API 设置。
vbSunday1星期日(缺省值)
vbMonday2星期一
vbTuesday3星期二
vbWednesday4星期三
vbThursday5星期四
vbFriday6星期五
vbSaturday7星期六


firstweekofyear 参数的设定值如下:


常数描述
vbUseSystem0使用 NLS API 设置。
vbFirstJan11从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays2从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek3从第一个无跨年度的星期开始。


喜大普奔,公众号文章底部有留言功能了,动动手指试一试吧,谁会是第一个吃螃蟹的人呢???



(本节完)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多