【VBA研究】利用DateAdd函数取上月或上年同期的日期

时间:2021-01-14 18:09:00

作者: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日,不会产生错误日期。