Foxtable(狐表)用户栏目专家坐堂 → 求两个日期之间相差天数的表达式


  共有4644人关注过本帖树形打印复制链接

主题:求两个日期之间相差天数的表达式

帅哥哟,离线,有人找我吗?
爱相随
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
求两个日期之间相差天数的表达式  发帖心情 Post By:2014/7/11 12:47:00 [显示全部帖子]

老师,我要求两个日期之间相差的天数的表达式怎么弄,帮助里计算年月日的表达式只是对一个日期分别列出它的年月日,和我要的内容不一样。比如我要计算2014年3月20日与2013年12月31日之间相差的天数。
[此贴子已经被作者于2014-7-11 12:47:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/7/11 13:56:00 [显示全部帖子]

日期时间格式为Date的日期列能套入下面代码吗:
Select Case e.DataCol.name
    Case "起始时间","结束时间"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("起始时间"Or dr.IsNull("结束时间"Then
           dr("本次用时") = Nothing
        Else
            Dim tp As TimeSpan
            tp = dr("结束时间") - dr("起始时间")
            dr("本次用时") = tp.TotalSeconds() '真正的时段型数据要转换为秒数,才能存入时段列
        End 
If

End
 Select

试了一下不行,我就是要求两个日期之间相差的天数。请老师指点一下,是不是要修改这里?Dim tp As TimeSpan

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/7/11 14:00:00 [显示全部帖子]

我要计算起息日期到结息日期之间的天数,我修改后的代码如下,可是不行,不提示错误,也没有得到数据,请问是怎么回事呢,请专家指点一下。
Select Case e.DataCol.name
    Case "起息时间","贷款结息日"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("起息时间") Or dr.IsNull("贷款结息日") Then
           dr("起结天数") = Nothing
        Else
            Dim tp As timeSpan
            tp = dr("贷款结息日") - dr("起息时间")
            dr("起结天数") = tp.TotalSeconds() '真正的时段型数据要转换为秒数,才能存入时段列
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/7/11 14:16:00 [显示全部帖子]

还是不得行,都不是我要想的,我要把相差的年月日直接转成天数,比如相差3年1个月25天,那具体就是1135天,就只需要1135这个结果,其他年,月都不要

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/7/11 14:33:00 [显示全部帖子]

按照下列代码,得到的还是时间格式:00:00:00
Select Case e.DataCol.name
    Case "起息时间","贷款结息日"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("起息时间") Or dr.IsNull("贷款结息日") Then
           dr("起结天数") = Nothing
        Else
            Dim tp As TimeSpan
            tp = dr("贷款结息日") - dr("起息时间")
            dr("起结天数") = tp.TotalDays() & "" '真正的时段型数据要转换为秒数,才能存入时段列
        End If
End Select

但复制到这里,就变成如下好像是天了,但在表里表示的却还是00:00:00的格式,是怎么回事呢??
88
91
264
355
444
536
628
719
810
902

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/7/11 14:35:00 [显示全部帖子]

哦,原来是把该列扩展设计为多时段型了,改为无就可以了,谢谢上面各位老师兄长的指点指导,非常感谢!!!

 回到顶部