以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  时间推算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107973)

--  作者:lxhmax
--  发布时间:2017/10/13 15:10:00
--  时间推算
如何根据现在的下单时间来计算客户的取报告时间:

1,在10点~13点下单的,取报告时间为15点
2,在13点~17点下单的,取报告时间为19点
3,在17点~21点下单的,取报告时间为23点
4,在21点~23点下单的,取报告时间为第二天1点
5,在23点~第二天10点下单的,取报告时间为第二天12点

请问各位老师这个代码要怎么写?谢谢啦!

--  作者:有点甜
--  发布时间:2017/10/13 15:18:00
--  

If e.DataCol.Name = "下单时间" Then
    Dim d As Date = e.DataRow("下单时间")
    Dim td As Date = new Date(d.Year, d.Month, d.Day)
    If d = Nothing Then
        e.DataRow("取报告") = Nothing
    ElseIf d.hour>=10 AndAlso d.hour < 13 Then
        e.DataRow("取报告") = td.AddHours(15)
    ElseIf d.hour>=13 AndAlso d.hour < 17 Then
        e.DataRow("取报告") = td.AddHours(19)
    ElseIf d.hour>=17 AndAlso d.hour < 21 Then
        e.DataRow("取报告") = td.AddHours(21)
    ElseIf d.hour>=21 AndAlso d.hour < 23 Then
        e.DataRow("取报告") = td.AddHours(25)
    ElseIf d.hour>=23 Then
        e.DataRow("取报告") = td.AddHours(24+12)
    ElseIf d.hour<10 Then
        e.DataRow("取报告") = td.AddHours(12)
    End If
   
End If