具有24小时格式的时间范围

本文关键字:时间 范围 格式 24小时 具有 | 更新日期: 2023-09-27 18:30:12

我需要测试两个值是否在一个移位内。我有一个活动的开始时间和结束时间,我需要确保开始时间不在轮班开始时间之前,结束时间也不在轮班结束时间之后。问题是班次从22:00到06:00。我目前正在使用Timespan变量,但我的简单if语句无法完成任务:

if (start >= shiftStartTime & end <= shiftEndTime)

我理解为什么它不起作用,但我不知道如何处理。我也试过:

if (start.Ticks > shiftStartTime.Ticks && end.Ticks < shiftEndTime.Ticks)

根据用户制定的规范(这不是我的选择),我有4个组合框,然后组合使用。这是我获取用户选择的开始和结束时间的非常粗略的方法:

string endHour = (cmbEndHour.SelectedValue as ComboBoxItem).Content.ToString();
string endMin = (cmbEndMin.SelectedValue as ComboBoxItem).Content.ToString();
string endEvent = (endHour + ":" + endMin);
TimeSpan end = TimeSpan.Parse(endEvent);

任何帮助都会很棒!

具有24小时格式的时间范围

您可以使用这个:

if ((start >= shiftStartTime || start <= shiftEndTime) && (end >= shiftStartTime || end <= shiftEndTime))