相关文章推荐
发财的煎饼果子  ·  excel vba ...·  2 周前    · 
深情的炒粉  ·  (VBA) 使用数组 | ...·  2 周前    · 
大气的鼠标  ·  javascript ...·  昨天    · 
听话的黄豆  ·  读取hdf文件- ...·  1 月前    · 
大气的警车  ·  android - Program ...·  11 月前    · 
VBA编程知识点(2)——日期

VBA编程知识点(2)——日期

VBA编程知识点(2)——日期

学习自杨洋老师《全民一起学VBA》

1. excel中的日期型单元格,只能表示1900年1月1日以后的时间。1900年1月1日以前的时间,使用日期公式进行处理会出错的。

单元格存放的日期与date所能表达的日期是不一样!


2. 时期型数据的关键字是date。

存放的时间精度,精确到秒。

取值范围:公元100年1月1日0点0分0秒到公元9999年12月31日23点59分59秒。

为一个日期变量赋值具体日期时,两头应该加上#号,先日期,后时间,日期里先月后日(但显示到屏幕的时候是“年月日”的顺序),用斜杠相隔;时间用冒号相隔。

示例:d = #1/19/2018 12:23:56#


3. 获取系统时间函数

Date函数,获取当前系统日期(年/月/日)。Date不仅代表一个数据类型,也是一个函数。

Time函数,获取当前系统时间(时/分/秒)。

Now函数,获取完事系统时间(年/月/日/时/分/秒)。


4. 时间数据解析函数

Year():返回时间的年份数字

Month():返回时间的月份数字

day():返回时间的当月第几日的数字

weekday():返回时间的当周第几日的数字

hour():返回时间的当日第几小时的数字

minute():返回时间的该小时第几分钟的数字

second():返回时间的该分钟第几秒的数字


5. 时间运算函数

Datediff函数

作用:计算两个日期之间的时间差

格式:datediff(单位,起始时间,截止时间)

单位:

“yyyy”-年;“m”-月;“q”-季度;“d”-日;“y”-当年第几日,一般情况下运行结果与“d”相同;“w”-周(按实际天数计算,不足7天为0周);“ww”-周(按跨周日数计算,只要相隔一个周日即为一周);“h”-小时;“n”-分钟;“s”-秒。

示例:datediff ("yyyy",#8/3/1996#,#5/6/2011#)


Dateadd函数

作用:计算一个时间点加上指定时间后的新的时间点。

格式:dateadd(单位,跨越长度,起始时间)

单位:

“yyyy”-年;“m”-月;“q”-季度;“d”-日;“y”-当年第几日,一般情况下运行结果与“d”相同;“w”-周内第几日,一般情况下运行结果与“d”相同;“ww”-周;“h”-小时;“n”-分钟;“s”-秒。

示例:dateadd("d",500,#5/28/2016#)


6. 日期与数字是可以相加的,也可以把数字赋值给日期变量

日期型数据本质上是一个double类型的数字。

0代表1899年12月30日0时0分0秒

整数部分每增减1就是增减1天,小数部分0.1代表0.1天,即2.4小时。但是小数部分加减法运算导致的时间变化比较复杂,比如正负号的转换,溢出处理等,请勿轻易使用。

示例:

dim d as date

d = 1

msgbox d

结果为1899/12/31

编辑于 2019-02-01 15:33