No.1
VBA编程中,获取日期是一个简单的功能,同样对日期进行增减计算处理也是个容易的操作。
本节我们来了解一下关于计算机系统日期的一些操作。
DateAdd函数
如上图所示,DateAdd是一个函数名。
可以简单理解为日期相加。
也就是说根据某个日期进行增加或减少某个数值之后返回一个日期。
这样,就得到了一个新的日期值。
比如,要以当前日期为基准,退后3天,那么就是在当前日期增加3天。
代码如下:
DateAdd("d",3,Date)
DateAdd函数详细语法和参数,如下图所示:
No.2
DateAdd函数语法:
DateAdd(interval, number, date)
其中参数inerval限定了相加的类型,如以天为单位相加参数"d",月为单位相加参数为"m",可参考上图进行设置。
number是一个数值,也就是时间间隔多少值,这个参数可以为正值,也可以负值,但必须是个整数long。
当然此参数还有一些规定,如果计算的日期位于年份数 100 前,也就是说减去年份数之后的结果必须大于等于100,否则会出现错误。
如:
Dim NextDate As Date NextDate = DateAdd("yyyy", -1921, "2021-2-15") MsgBox NextDate'返回"100/2/15"
-1921就是可以减去的最多年份,如果改成小于等于-1922则报错。
也就是说不能得到小100的年份,至于是什么原因造成这个结果?恐怕只有微软知道。
No.3
Date函数
这个函数还是有一定意义的,比如设置某个年份为基准,向后推移2年。直接在这个年份之上加2就可以了。
那么还有一个特别重要的日期函数,要掌握。
那就是Date函数。
此函数没有参数,直接返回当前系统日期。
可使用如下代码:
Msgbox Date'输出当前日期
No.4
Date语句
重点:Date函数和Date语句是两个概念。
函数用于取日期,语句用于设置日期。
一个是获取Get,一个是设置Set。
理解清楚之后,就可以使用不同的Date函数和语句进行不同的代码表达。
如果,想要设置当前系统日期为2020年12月25日。
可以使用如下语句:
Date="2020-12-25"
使用方法很简单,问题在于要对概念进行正确理解。
No.5
设置系统日期
Private Sub SetDate() Dim NowDate As Date NowDate = Application.InputBox("设置日期", "输入日期", VBA.Format(Date, "yyyy-mm-dd")) If Not IsDate(NowDate) Then Exit Sub Date = NowDate End Sub
查看当前日期后3年的日期
Private Sub GetYear() Dim NextDate As Date NextDate = DateAdd("yyyy", 3, Date) MsgBox NextDate End Sub
查看当前日期3天前的日期
Private Sub GetUpDate() Dim NextDate As Date NextDate = DateAdd("d", -3, Date) MsgBox NextDate End Sub
日期功能函数和语句是个简单的功能,但也是一个很重要的函数,必要掌握的一个知识。
所以,特别拿来整理学习一下。
欢迎关注、收藏。
还没有评论,来说两句吧...