以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]时辰判断  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=158688)

--  作者:天一生水
--  发布时间:2020/11/29 8:31:00
--  [求助]时辰判断

老师好!

我想根据时间判断时辰,两种方法都不可行,请老师指教!

谢谢!

 

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (3).jpg
图片点击可在新窗口打开查看

 

 


 

DataColChanged代码:

If e.DataCol.Name = "时间" Then
    If e.DataRow.IsNull("时间") Then
        e.DataRow("时辰") = Nothing
    Else

        ’1、比较时间大小

        Dim Time1 As Date = #9:00#
        Dim Time2 As Date = #11:00#
        Dim Time3 As Date = #13:00#
        Dim Time4 As Date = #15:00#
       
        \'If e.DataRow("时间") > Format(Time1,"HH:mm")  AndAlso e.DataRow("时间") =< Format(Time2,"HH:mm") Then
            \'e.DataRow("时辰") = "巳时"
        \'ElseIf e.DataRow("时间") > Format(Time2,"HH:mm") AndAlso e.DataRow("时间") =< Format(Time3,"HH:mm") Then
            \'e.DataRow("时辰") = "午时"
        \'ElseIf e.DataRow("时间") > Format(Time3,"HH:mm") AndAlso e.DataRow("时间") =< Format(Time4,"HH:mm") Then
            \'e.DataRow("时辰") = "申时"
        \'End If

       

        \' 2、转换为数值比较

        If CDbl(e.DataRow("时间")) >=0.375 AndAlso  CDbl(e.DataRow("时间")) =< 0.4583333333 Then
        e.DataRow("时辰") = "巳时"
        ElseIf  CDbl(e.DataRow("时间")) > 0.4583333333 AndAlso  CDbl(e.DataRow("时间")) =< 0.541666666666667 Then
        e.DataRow("时辰") = "午时"
        ElseIf  CDbl(e.DataRow("时间")) > 0.541666666666667 AndAlso  CDbl(e.DataRow("时间")) =< 0.625 Then
        e.DataRow("时辰") = "申时"
        End If
      
    End If
End If

[此贴子已经被作者于2020/11/29 8:31:54编辑过]

--  作者:有点蓝
--  发布时间:2020/11/29 20:55:00
--  
Dim Time1 As string = "09:00"

If Format(e.DataRow("时间"),"HH:mm") > Time1 

--  作者:天一生水
--  发布时间:2020/11/29 21:52:00
--  

提示如下,是什么原因?

 


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (4).jpg
图片点击可在新窗口打开查看 

 

If e.DataCol.Name = "时间" Then
    If e.DataRow.IsNull("时间") Then
        e.DataRow("时辰") = Nothing
    Else
        Dim Time1 As String = "09:00"
        Dim Time2 As String = "11:00"
        Dim Time3 As String = "13:00"
        Dim Time4 As String = "15:00"
       
        If Format(e.DataRow("时间"),"HH:mm") > Time1 AndAlso Format(e.DataRow("时间"),"HH:mm")  =< Time2 Then
        e.DataRow("时辰") = "巳时"
        ElseIf Format(e.DataRow("时间"),"HH:mm") > Time2 AndAlso Format(e.DataRow("时间"),"HH:mm")  =< Time3 Then
        e.DataRow("时辰") = "午时"
        ElseIf Format(e.DataRow("时间"),"HH:mm") > Time3 AndAlso Format(e.DataRow("时间"),"HH:mm")  =< Time4 Then
        e.DataRow("时辰") = "申时"
        End If
       
    End If
End If



--  作者:有点蓝
--  发布时间:2020/11/29 22:06:00
--  
<=:http://www.foxtable.com/webhelp/topics/0219.htm