我正在研究一个记录员工登录时间的项目 已根据开始时间和结束时间(存储在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中存储时间?
请指教。 感谢
答案 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
在你的“方程式”中更加整洁,它们变得更容易阅读和调试!