以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  两个时间之间的月份  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39395)

--  作者:lfxxdt
--  发布时间:2013/8/23 12:10:00
--  两个时间之间的月份

Select Case e.DataCol.Name
    Case "开始日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("开始日期") OrElse dr.IsNull("完成日期") Then
            dr("执行天数") = Nothing
        Else
            Dim tp As TimeSpan = dr("完成日期") - dr("开始日期")
            dr("执行天数") = tp.TotalDays
        End If
End Select

以上语句可以计算出两个时间之间的天数,如果我要算两个时间之间相差多少个月,应该如何修改


--  作者:Bin
--  发布时间:2013/8/23 12:12:00
--  
DateDiff(interval,date1,date2)
返回两个日期之间的间隔。
Interval 包含以下设置:
yyyy 年 
q    季度 
m    月 
y    某年的某一天 
d    天 
w    工作日 
ww   周 
h    时 
n    分 
s    秒


--  作者:lfxxdt
--  发布时间:2013/8/23 12:27:00
--  

Select Case e.DataCol.Name
    Case "开始日期","完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("开始日期") OrElse dr.IsNull("完成日期") Then
            dr("执行天数") = Nothing
        Else
            dr("执行天数") =DateDiff(m,dr("完成日期") ,dr("开始日期"))
        End If
End Select


--  作者:lfxxdt
--  发布时间:2013/8/23 12:27:00
--  

我这样编写后运行不了

 


--  作者:y2287958
--  发布时间:2013/8/23 12:44:00
--  
DateDiff("m",dr("开始日期") ,dr("完成日期"))
[此贴子已经被作者于2013-8-23 12:44:28编辑过]

--  作者:lfxxdt
--  发布时间:2013/8/23 13:36:00
--  

问题已解决,谢谢