Foxtable(狐表)用户栏目专家坐堂 → 关于Time类型日期时间比较大小的问题


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

主题:关于Time类型日期时间比较大小的问题

帅哥哟,离线,有人找我吗?
温馨的大树
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:231 积分:1751 威望:0 精华:0 注册:2020/2/3 11:16:00
用命令测试时发现显示格式不一样,见附件  发帖心情 Post By:2020/4/18 2:10:00 [显示全部帖子]

这个是dr1("订单时间")显示的值,前面有1900-01-01年月日

图片点击可在新窗口打开查看此主题相关图片如下:万能五笔截图_20200418020556.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:231 积分:1751 威望:0 精华:0 注册:2020/2/3 11:16:00
用命令测试时发现显示格式不一样,见附件  发帖心情 Post By:2020/4/18 2:12:00 [显示全部帖子]

个是测试r("订单时间")的值,这个就只有时分秒,其实我们只需要时分就可以满足要求了

图片点击可在新窗口打开查看此主题相关图片如下:万能五笔截图_20200418020617.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:231 积分:1751 威望:0 精华:0 注册:2020/2/3 11:16:00
测试结果,我发现主要还是dr("订单时间")格式为不带年月日,应该就可以计算出时间段  发帖心情 Post By:2020/4/18 2:41:00 [显示全部帖子]

这样子测试出来,t1是个很大的负值

DataTables("订单明细表").DataCols("订单时间").SetDateTimeFormat(DateTimeFormatEnum.Time)
Dim r As Row = CurrentTable.Current
Dim dr1 As DataRow
dr1 = DataTables("订单明细表").SQLfind( "订单日期 = '" & r("订单日期") & "' and 订单时间 < '" & r("订单时间") & "'","订单时间 desc")
If dr1 IsNot Nothing Then
    Dim d As TimeSpan =  r("订单时间") -dr1("订单时间")
    Dim t1 As Double = d.TotalMinutes
    msgbox(t1)
End If

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:231 积分:1751 威望:0 精华:0 注册:2020/2/3 11:16:00
测试结果,我发现主要还是dr("订单时间")格式为不带年月日,发个测试结果的附件  发帖心情 Post By:2020/4/18 2:43:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:万能五笔截图_20200418024050.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
温馨的大树
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:231 积分:1751 威望:0 精华:0 注册:2020/2/3 11:16:00
已经解决了,主要还是需要转化为相同时间的格式计算时间段  发帖心情 Post By:2020/4/18 3:25:00 [显示全部帖子]

象下面这样转换一下格式目前就正常了,谢谢老师指导
Dim dr1 As DataRow
dr1 = DataTables("订单明细表").SQLfind( "订单日期 = '" & r("订单日期") & "' and 订单时间 < '" & r("订单时间") & "'","订单时间 desc")
If dr1 IsNot Nothing Then
    Dim str1 As String = TimeValue(dr1("订单时间"))
    Dim dt1 As Date = CDate(str1)
    Dim str2 As String = TimeValue(r("订单时间"))
    Dim dt2 As Date = CDate(str2)
    Dim dt As TimeSpan =  dt2 - dt1
    Dim t1 As Double = dt.TotalMinutes


 回到顶部
总数 16 上一页 1 2