关于VB DateDiff 函数计算周期问题,请教各位!函数介绍就不用了,我有MSDN。请用我的实例解答。

Sub aaa()
Dim tt As Long
tt = DateDiff("m", "2010-9-10", "2011-9-8")
'tt为:12
tt = DateDiff("m", "2010-9-10", "2011-9-9")
'tt也为:12
tt = DateDiff("m", "2010-9-10", "2011-9-10")
'tt也为:12
tt = DateDiff("m", "2010-9-10", "2011-9-11")
'tt也为:12

'全部都结果为12,这是为什么?
'我相要的是如果未到周年(就算差一天),都计为 12 个月
'如果过了过了一天也增加一个月即为13个月
'如何达到这种效果?
End Sub

DateDiff在计算两个日期间的月数时,会自动忽略日期中的“日”的,所以上面四个语句都相当于:
tt = DateDiff("m", "2010-9", "2011-9")
要想达到你要的效果,单用DateDiff是无法实现的,可以这样:
tt = DateDiff("m", 日期1, 日期2)
if day(日期2)>day(日期1) then tt=tt+1
温馨提示:内容为网友见解,仅供参考
无其他回答

各位老大在下小弟请教一个sql问题 我需要从每日销售数据中 统计出连续...
where datediff(dd,FA,FB)>30 and not FB is NULL

易语言时钟问题请教!我是新手
'调用DateDiff函数,计算日期间隔.response.write DateDiff("d",Date(),"06-06-17")response.write ""response.write "天">

相似回答