【VBA研究】利用DateAdd函数取上月或上年同期的日期
作者:iamlaosong
DateAdd函数返回一个日期,这一日期加上了一个时间间隔。通过这个函数可以计算很多我们需要的日期,比如上月上年同期日期等。
语法
DateAdd(interval, number, date)
DateAdd 函数语法中有下列命名参数:
interval 必要。字符串表达式,是所要加上去的时间间隔。它具有好多设定值,比如”m”为月;”d”为日;”yyyy”为年等等。
number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date 必要。表示日期的文字。
下面举例说明如何利用这个函数得到我们所需的日期:
e_date1 = CDate("2015-3-18") ' 赋值 b_date1 = e_date1 - Day(e_date1) + 1 ' 一般取当月1日方法 b_date1 = DateAdd("d", 1 - Day(e_date1), b_date1) ' 利用DateAdd函数取当月1日 y_date1 = DateAdd("m", 1 - Month(b_date1), b_date1) ' 利用DateAdd函数取1月1日 e_date2 = DateAdd("m", -1, e_date1) ' 利用DateAdd函数取上月同期 e_date3 = DateAdd("m", -12, e_date1) ' 利用DateAdd函数取上年同期 e_date3 = DateAdd("yyyy", -1, e_date1) ' 利用DateAdd函数取上年同期
需要说明的是,取上月同期时,如果当前日期的天数大于上月总天数,则取上月最大天数作为日期,例如取3月31日上月同期时,如果2月分总天数是28,则取出的日期是2月28日,不会产生错误日期。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。