
前言
本篇要讲的DateAdd函数
笔者为何要先从时间函数开始讲这一些列函数呢?因为时间重要啊!相隔千万里,唯有时间可以成为同步的参考。哇,原来时间也可以这么奇妙。
1、电子文档防伪,一个很有意思也很有商业价值的领域。知道有哪些实现方式么?VB/VBA/VBS能否实现一个高性价比的版本?
投资回收期,投资回报率,销售利率等,无不是暗含时间因素预与立中博弈如何比较业绩如何与其外国股东沟通在国外的投资经营又该如何评价
如何实现同步如何保持有序
VB/VBA/VBS需不需要计时器呢?
不少想卖钱的软件,得考虑试用期,订阅期。财经行业软件的早期版本,竟然将终端时间作为控制依据
DateAdd函数一并将其他相关时间函数,及相关概念
一、常见的日期函数
一些不常用的日期函数,笔者简要介绍如下
1、时间分解函数
Date类型实际为Double类型,而日期部分就是Double的整数部分,而时间就是Double的小数部分。
》在计算机中浮点类型也是整数,也就是说Double类型的Date,其实是个8字节整数。用户可以借助指针,将同一个内存中的数据,在整数、日期、双精度浮点数之间任意低成本转换,而Date和Time函数又可任取整数和小数部分参与代数计算。
笔者就曾在一款VB外壳中,利用该原理,将时间线和数据线,完美融合到了一起
2、时间合成函数
在VB/VBA/VBS中暗含类型的自动转换,很多时候直接用字符串表示日期和时间,对于很多需要时间的函数而言,都是可以接受的。
尤其是在财经金融证券领域,这俩兄弟结合指针可将时间的灵活性发挥得超出很多人的想象。
3、时间属性提取函数
Date类型,不仅是Double,也不仅是内存中的8字节整数,那还有很多属性。那季、周、已过天数等属性,用的人就少了,毕竟大部分人除了自个兜儿的外,其实并不真正Care钱嘛!更何况不少人自个的兜儿,都还缝在管家婆身上的呢。
所以,金钱密集型行业的从业人员(如财经金融证券),才有更多机会使用到这些属性。比如国外不少地方,都是发日薪或周薪。国内企业管理上来之后,月报、季报、半年报,实时报、动态预算、各种考核等,都是有的。这时候,时间属性函数,就有妙用了。
二、DateAdd函数
1、函数功能
该函数为时间加法函数,可以在指定时间上加上指定单位的时间,如年月日时分秒,季,周等。
2、函数的定义(VB形式)
DateAdd(Interval As String,Number As Double,Date As Variant) As Variant
3、函数参数说明
Interval为Number参数的时间单位,具体为下图所示:

时间间隔单位
Number为要增加的时间量,单位由Interval指定。该参数为何为Double类型?
Date为指定的基准时间,不仅支持Date类型和Double类型表示的时间,也支持字符串表示的时间(如"1899-12-30 0:00:00")。
4、应用
如怎样获得系统的开机时间?如何获得指定年月的最后1天的日期?如何获得指定年第N天的日期?
三、时间的几个概念
磁盘文件的创建/访问/修改时间和系统时间
最近的中美领导人视频会晤的时间就很微妙。局是老拜登攒的,时间正好是我们早上上班时间,要知道美丽国那边的人,大部分人都洗洗睡了。所以,这个此时间非彼时间,谁在将就谁,就由你们说去吧。
协调世界时,又称世界统一时间、世界标准时间
为了配合各地实际生产生活,就有了本地时间,甚至还有夏令时。也就是说,实际应用中,时间各是各的,有北京时间,也有东京时间,更有伦敦时间。
屏幕上显示的时间,基本就是指本地时间格林尼治时间,其作为起点,按时区进行时差。这样本地时间和UTC之间进行随意切换了。
使用本地时间,在一定时区范围内比较方便,但超出太多时区就容易导致混乱。比如,东北天亮得早,也黑的早,以前有东北同学说他们哪儿下午3点过就放学,4点吃晚饭都算晚的了,当时对于笔者这个南方人还感觉挺不可思议的。
所以,在很多场合,尤其是计算机领域,真正的时间都是使用UTC时间。比如磁盘里的文件时间,网站上的时间等。
欢迎关注BtOfficer(收藏、点赞、关注+转发)