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

时间: 2024-10-11 13:43:31

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

黑马程序员-利用swap函数研究C的指针

设计3个函数,分别实现已下功能: 交换两个整数 交换两个整形指针 交换任意两个同类型的变量 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 void swap_int(int* pa, int* qa) //交换两个整数 5 { 6 int temp = *pa; 7 *pa = *qa; 8 *qa = temp; 9 } 10 11 12 void swap_intpur(int*

【VBA研究】VBA产生不重复随机数

作者:iamlasong VBA编程实现不重复随机数输出.VBA里的随机函数是RND,在工作表中随机函数是RAND,一字之差,可要记好了.RND取值范围是[0,1),意思是0和1之间的一个随机数,包含0,但不包含1. 1.用法 语法:Rnd[(number)] 如果 number 的值是 Randomize 生成 小于 0 ,每次都使用 number 作为随机数种子得到的相同结果. 大于 0 ,以上一个随机数为种子产生下一个随机数. 等于 0 ,产生与最近生成的随机数相同的随机数. 省略, 以上

利用Excel函数多角度计算个人所得税

新个税征收方法已与2011年9月1日起施行,但计算方法变更改后,有关这方面的计算方法在网络论坛上讨论较多,但在新旧交替时期正误混杂,新人难以分辨.在现实中根本就找不到这方面的经典计算方法,ExcelHome论坛超级版主.微软最有价值专家MVP黄成武归纳总结一下计算方法,最终目的是给大家拓展函数使用的技巧和思路,在陶醉于函数奇妙.经典的运用中,感叹Excel博大精深,同时又是加强练习Excel函数的绝佳机会. 一.个税计算最新税率表 级数 全月应纳税所得额 税率 扣除数 1       不超过15

SQL语句中DateAdd 函数说明

实践例子: 将借阅表中所有记录的归还日期加15天: 执行前情况: 执行后情况如下: update 借阅 set 归还日期=DateAdd ("D",15,归还日期) [详细讲解:] 返回 返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔. 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: interval 必要.字符串表达式,是所要加上去的时间间隔. number 必要.数值表达式,是要加上的

【JavaScript】利用sort()函数与文件碎片实现表格的前端排序,兼容IE6原生态

表格排序在网页的应用也很多,尤其是一些信息系统输出一个密密麻麻的表格给人看,客户肯定会提出表格排序的要求.很多人定式思维地认为表格的排序一定要通过数据库后端进行交互,使用带order by asc/desc的语句去实现,然后再利用ajax似乎很完美似得.其实根本就不用与数据库打交道.在前端给出任意一个表格,都能够利用sort()函数与文件碎片实现表格的前端排序.在jquery里面是有一个advanceTable的插件做这件事,但是这个插件相当不好的是什么呢?与平常的插件一样,代码写得天花龙凤,没

【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询

作者:iamlasong 1.接口说明 通过互联网訪问,运单跟踪信息查询接口基于HTTP协议开发,接口为RESTFul风格的Web Service,信息交互过程为用户按我方提供的web service地址进行调用,我方接到调用请求后,为用户返回JSON格式组织的数据信息.用户根据约定的接口规范对数据进行解析. 接口调用为HTTP请求的方式,每一次由用户发起的HTTP请求,须要设置验证信息,详细方法是,在HTTP Header部分添加version及authenticate属性,属性值在联调測试之

利用Fiddler抓取websocket包

一.利用fiddler抓取websockt包 打开Fiddler,点开菜单栏的Rules,选择Customize Rules... 这时会打开CustomRules.js文件,在class Handlers中加入以下代码 static function OnWebSocketMessage(oMsg: WebSocketMessage) { // Log Message to the LOG tab FiddlerApplication.Log.LogString(oMsg.ToString()

利用wireshark抓取Telnet的用户名和密码

使用wireshark抓取Telnet   目标ip地址(telnet  192.168.88.1 ) 1,首先打开wireshark,然后选择网卡,点击开始. 2,为了在filter中输入telnet 或者输入(ip.dst == 目标ip地址 and  tcp.port== 23). 3,看下面的数据包,找到telnet  并且能够看到data:\r\n:如下图 4,接下来再看下面的数据包,就能看到明文用户名和密码了.如下图 这时候你就可以看到明文用户名的首字母x了,继续看下去你可以找到后面

利用select 函数 实现sleep功能 达到纳米级

利用select 函数 实现sleep达到纳米级 . 当然这个数据计算出来不准确,本身就包含程序执行本身消耗的数量. 原理是把select read write except  fd_set 全部设为NULL,这样select 就可以等待指定的时间. #include <sys/select.h> #include <stdio.h> #include <time.h> #include <sys/time.h> int  main(){         s