在VB开发环境中实现时间之间的加减运算有很多种方法,前不久自己无意中发现了Datediff函数,它能够比较简单、全面地实现我们比较常用的时间之间的运算,今由自己的研究,搞清了它的一些用法,拿来和大家分享!
Datediff函数的返回值有两种,分别是时间和数值。它统一的格式为:传回值 = Diff(日期间隔种类, 增加量, 日期) ,但在涉及到具体的运算时还有它应注意的地方:
运算情况 | 用法 | 返回值 | 实例 | 输出结果 | 注释 |
DateAdd 日期加法得日期 | 传回日期 = DateAdd(日期间隔种类, 增加量, 日期) | 时间 | Private Sub Command1_Click() Print DateAdd("ww", 6, #2/28/99#) End Sub |
#4/11/99# | 1999-2-28六周后是1999-4-11 |
DateDiff 日期相减得数值 | 传回值 = DateDiff(日期间隔种类, 增加量, 日期) | 数值 | Private Sub Command1_Click() Print DateAdd("ww", #1/1/99#, #12/31/99#) End Sub |
52 | 1999-1-1至1999-12-31共有52周 |
DatePart 日期部份资讯 | 传回值 = DatePart(日期间隔种类, 增加量, 日期) | 数值 | Private Sub Command1_Click() Print DateAdd("q", #4/1/99#) End Sub |
2 | 1999-4-1是第2季 |
由上表可以看出,之所以会有不同的输出结果,是由于日期间隔种类的不同,下面我将为大家介绍一下不同的日期间隔种类,以利于大家对Datediff函数的理解。
不同的日期间隔种类对应不同的时间格式,具体如下:
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
要想很好地使用Datediff函数,必须对它的用法和日期间隔种类很好地理解,鄙人也是首次使用,有什么不妥的地方还请大家多多指教!