我知道这里有很多关于这个主题的问题,但没有人问我遇到的问题。
此脚本用于用户选择日期、开始和结束时间并进行预订的预订。 我有一个带有日期选择器输入字段和两个时间选择器输入字段的表单,一个用于开始时间,一个用于结束时间。
问题是我为其编写预订脚本的商店从晚上 17:00 营业到凌晨 01:00。因此,如果有人在 23:00 到 01:00 之间预订,则开始时间总是显示得更大,这会导致表单未通过验证。
有谁知道是否有解决方案,或者是否有可以执行此操作的验证器。
注意:我只想比较时间,不想添加其他日期字段。
var timeto=$('#timeto').val();
var timefrom=$('#timefrom').val();
if(timefrom>timeto){
alert('start time should be smaller')
}
因此,如果 time from
是 23:00 并且 time to
是 00:00,则显示警报,但实际上 00:00 比 23 :00
最佳答案
创建日期对象时只需减去一小时。
var timefrom = new Date();
temp = $('#timefrom').val().split(":");
timefrom.setHours((parseInt(temp[0]) - 1 + 24) % 24);
timefrom.setMinutes(parseInt(temp[1]));
var timeto = new Date();
temp = $('#timeto').val().split(":");
timeto.setHours((parseInt(temp[0]) - 1 + 24) % 24);
timeto.setMinutes(parseInt(temp[1]));
if (timeto < timefrom){
alert('start time should be smaller than end time!');
}
关于javascript - 比较开始时间和结束时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37456701/