Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查开始时间和结束时间之间的时间差应为1小时30分钟,如果超过该值,则不应继续_C#_Asp.net_Asp.net Core - Fatal编程技术网

C# 检查开始时间和结束时间之间的时间差应为1小时30分钟,如果超过该值,则不应继续

C# 检查开始时间和结束时间之间的时间差应为1小时30分钟,如果超过该值,则不应继续,c#,asp.net,asp.net-core,C#,Asp.net,Asp.net Core,我正在asp.net core中安排一个时间表,我希望所有讲座的时间仅为1小时30分钟,如果在这段时间内意外或故意减少或增加上课时间,则应在运行时发出错误消息。startTime和EndTime在viewModel中有DT DateTime,在模型的TimeSpan中,我执行了解析以检查其他类在调度时的startTime和EndTime 公共异步任务创建(TimetableViewModel TimetableViewModel) { 尝试 { var startTime=TimeSpan.Pa

我正在asp.net core中安排一个时间表,我希望所有讲座的时间仅为1小时30分钟,如果在这段时间内意外或故意减少或增加上课时间,则应在运行时发出错误消息。startTime和EndTime在viewModel中有DT DateTime,在模型的TimeSpan中,我执行了解析以检查其他类在调度时的startTime和EndTime

公共异步任务创建(TimetableViewModel TimetableViewModel) { 尝试 { var startTime=TimeSpan.Parse(timetableViewModel.startTime.ToString(“hh:mm”); var endTime=TimeSpan.Parse(timetableViewModel.endTime.ToString(“hh:mm”); 布尔匹配=假; var record=_context.TimeTables.Where(x=>x.RoomID==timetableViewModel.RoomID&&x.Day==timetableViewModel.Day).ToList(); foreach(记录中的var项目) {
如果((startTime>=item.startTime&&startTime=item.startTime&&endTime可能我遗漏了什么,但TimeSpan允许您执行时间算术,因此如果您希望检查授课时间是否为1小时30分钟,那么您需要做的肯定是:

string startTime = "10:00";
string endTime ="11:30";

string lecturePeriod = "1:30";

TimeSpan start = TimeSpan.Parse(startTime);
TimeSpan end = TimeSpan.Parse(endTime);

bool matched = (end - start) == lecturePeriod;

您已经声明在输入时验证时间,我假设这是为了确保结束时间在开始时间之后,并且时间不会与午夜重叠。

这是否回答了您的问题?我不确定如何计算小时和分钟的差异,并为用户显示消息