以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教:关于两个日期间的计算问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62832)

--  作者:peterx
--  发布时间:2015/1/8 17:01:00
--  请教:关于两个日期间的计算问题
老师:想计算今天与接手日期之间的天数,如何表达?

Select Case e.DataCol.Name
    Case "免税办理_接手日期","免税办理_完成日期"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("免税办理_接手日期") OrElse dr.IsNull("免税办理_完成日期") Then
            dr("免税办理_已过天数") = Nothing
            If dr.IsNull("免税办理_接手日期")=False And  dr.IsNull("免税办理_完成日期") Then

                Dim tp As TimeSpan = Date.today - dr("免税办理_接手日期")


                dr("免税办理_已过天数") = tp.TotalDays
            End If
        Else
            Dim tp As TimeSpan = dr("免税办理_完成日期") - dr("免税办理_接手日期")
            dr("免税办理_已过天数") = tp.TotalDays
        End If
End Select
[此贴子已经被作者于2015-1-8 17:01:50编辑过]

--  作者:Bin
--  发布时间:2015/1/8 17:03:00
--  
代码是这么写啊
--  作者:peterx
--  发布时间:2015/1/8 17:07:00
--  
这样,通不过。

修改为下句后,提示:列“2015/1/8”不属于表 采购过程监控系统。

                Dim tp As TimeSpan = dr(Date.today) - dr("免税办理_接手日期")

[此贴子已经被作者于2015-1-8 17:20:02编辑过]

--  作者:Bin
--  发布时间:2015/1/8 17:08:00
--  
你1楼发的代码和你3楼的代码,一样么?

Dim tp As TimeSpan = Date.today - dr("免税办理_接手日期")

--  作者:peterx
--  发布时间:2015/1/8 17:09:00
--  
不一样:

Dim tp As TimeSpan = dr(Date.today) - dr("免税办理_接手日期")

--  作者:Bin
--  发布时间:2015/1/8 17:10:00
--  
那就是咯.去掉才是正确的
--  作者:peterx
--  发布时间:2015/1/8 17:20:00
--  
去掉   编译就通不过!!
--  作者:Bin
--  发布时间:2015/1/8 17:21:00
--  
怎么可能呢,提示什么?
--  作者:有点甜
--  发布时间:2015/1/8 17:22:00
--  
Dim tp As TimeSpan = Date.today - Cdate(dr("免税办理_接手日期"))

--  作者:peterx
--  发布时间:2015/1/8 17:25:00
--  
有点甜    老师   是真的很  甜   呀!谢谢
[此贴子已经被作者于2015-1-8 17:27:36编辑过]