将timeofday与存储在DB中的日期时间进行比较

时间:2014-07-17 17:02:19

标签: vb.net visual-studio

我正在研究一个记录员工登录时间的项目 已根据开始时间和结束时间(存储在DB到DateTime字段中)定义了班次 来自DateTimePicker.value(它还存储日期和时间,这是不必要的)

当员工登录时,我需要检查他是否是上班时间或晚上等。 我正在以下列方式比较它

If TimeOfDay >= DateTime.Parse(DsReadShift.tblShift.Rows(0).Item("StartTime")) And DateTime.Now <= DateTime.Parse(DsReadShift.tblShift.Rows(0).Item("EndTime")) Then 
            vrStatus = "Logged In"

结束如果

但它不起作用。我假设应该有一些方法来忽略相关的日期,只有时间应该比较。但我不知道如何。

我是否以正确的方式在DB中存储时间?

请指教。 感谢

1 个答案:

答案 0 :(得分:0)

没有太多时间......但先试试这个。

Dim vStart = DateTime.Parse(DsReadShift.tblShift.Rows(0).Item("StartTime"))
Dim vEnd = DateTime.Parse(DsReadShift.tblShift.Rows(0).Item("EndTime"))

If TimeOfDay >= vStart.TimeOfDay And DateTime.Now.TimeOfDay <= vEnd.TimeOfDay Then 
    vrStatus = "Logged In"
End If

在你的“方程式”中更加整洁,它们变得更容易阅读和调试!