我在Django中创建插槽有时间限制。 我写的代码如下:
start_time = request.POST.get('start_time')
end_time = request.POST.get('end_time')
dateTimeA = datetime.datetime.strptime(start_time, '%H:%M')
dateTimeB = datetime.datetime.strptime(end_time, '%H:%M')
dateTimeDifference = dateTimeB - dateTimeA
dateTimeDifferenceInHours = dateTimeDifference.total_seconds() / 3600
if dateTimeDifferenceInHours <= 0:
dateTimeB += datetime.timedelta(days=1)
dateTimeDifference = dateTimeB - dateTimeA
dateTimeDifferenceInHours = dateTimeDifference.total_seconds() / 3600
我也有一些限制:
约束1:计时:用户将给出从5:00 AM to 4:59 AM
变化的计时
约束2:结束时间不能在第二天的4:59 am
之后
案例:
案例1:从凌晨2点到凌晨4点创建插槽应该可以正常工作
案例2:目前,我编写的代码在案例中的工作不正确:
Start_time = 8:00
End_time = 6:00
这里,在前端,start_time = 8:00
表示早晨,end_time = 6:00
表示第二天早上,违反了我们的第2个约束
案例3:当有人给出start_time = 5:00
和end_time = 2:00
时,我们需要在结束时间中添加第二天
前端如下所示(代码是用HTML
编写的):
因此,如果有人能帮助我改进我写的代码,使我上面的所有案例都能正常工作
如果我理解正确:
1/开始时间必须至少为5:00(上午)
2/a 5:00(上午)之前的结束时间表示“下一天”
所以
5点之前的1/a开始时间错误(简单)
2/如果你的结束时间在5:00之前,那就是“第二天”(简单)
3/如果是在上午5:00之后(包括在内),但在开始时间之前,则是错误的(简单)
4/如果是在开始时间之后,则假定是在同一天
照此,这将产生预期的结果:
作为补充说明,我强烈建议您使用Django
Form
(或ModelForm
,如果合适)进行用户输入验证相关问题 更多 >
编程相关推荐