Office中国论坛/Access中国论坛

标题: 关于时间差? [打印本页]

作者: sbsfhgl    时间: 2010-1-24 11:23
标题: 关于时间差?
本帖最后由 sbsfhgl 于 2010-1-24 11:25 编辑

DateDiff('m',#2010-8-5#,#2011-9-12#),
我得出的13个月,实际应该是13个月零8天,如何得出有几个月零几天?

DateDiff('m',#2010-8-5#,#2011-8-2#)
我得出的12个月,实际还差2天才到12个月,应该为11个月,如何得出有几个月零几天?
作者: ACMAIN_CHM    时间: 2010-1-24 12:37
提供一个思路。

DateDiff('m',#2010-8-5#,#2011-8-2#) 得到月数后再比较 day(,#2010-8-5#) ,day(#2011-8-2#) 把相差的天数算出来。




******************
*  一切皆有可能  *
******************

.
ACMAIN - Access论坛回贴准则(个人).
.





作者: andymark    时间: 2010-1-24 14:22
月头和月尾一个月的方法

Private Sub Test(FirstDate As Date, LastDate As Date)
  Dim M As Integer
  Dim D As Integer
  
M = DateDiff("M", FirstDate - 1, LastDate)

If DateAdd("m", M, FirstDate - 1) > LastDate Then

    M = M - 1
End If

D = DateDiff("d", FirstDate, LastDate) - DateDiff("d", FirstDate, (DateAdd("m", M, FirstDate - 1)))
  
MsgBox "两日期之间相差" & M & "个月 零 " & D & "天"
  
End Sub
作者: andymark    时间: 2010-1-24 14:22
Private Sub Command0_Click()
  Call Test(#8/5/2010#, #8/2/2011#)
  Call Test(#8/5/2010#, #9/12/2011#)
End Sub




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3