如何编写条件块以检查所选时间是否介于 Timepicker 当前时间的 5 小时之间
How to write a condition block to check whether the selected time is in between of 5 hours of current time from the Timepicker
我需要 Timepicker 的解决方案。
我在 Javascript 中添加了一个时间选择器,现在用户可以 select 从下拉列表中选择时间,
但我想检查用户 select 编辑的时间是否在当前时间的 5 小时之间,否则 return 为假。让我与您分享我的代码。
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
setTime: new Date(),
"minTime": "" + hour + ":" + minute + "",
dynamic: true,
dropdown: true,
scrollbar: true,
change: countneartime
});
function countneartime(){
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var output = (month<10 ? '0' : '') + month + '/' +
(day<10 ? '0' : '') + day + '/'+ d.getFullYear() ;
var pickup = $(".start-date").val();
if(output == pickup){
// write code to check condition if user selected time within 5 hours of upcoming
}
}
如果用户 selected 时间在当前时间的即将到来的 5 小时内,我想 return false。
请帮助我
var d1 = new Date();
d1.setHours(d1.getHours() + 4); //upcoming 5 hours
var d2 = new Date($(".start-date").val());
var d3 = new Date(); //current time
var d1msecs = new Date(d1).getTime(); // get milliseconds
var d2msecs = new Date(d2).getTime(); // get milliseconds
var d3msecs = new Date(d3).getTime(); // get milliseconds
if(d1msecs <= d2msecs && d2msecs >= d3msecs)
{
return false;
}
尝试以下操作:
let hour = 12,
minute = 0;
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
"minTime": "" + hour + ":" + minute + "",
dynamic: true,
dropdown: true,
scrollbar: true,
change: countneartime
});
function countneartime(val) {
var selected = new Date(val);
var fiveHoursLater = new Date(0, 0, 0, new Date().getHours() + 5, new Date().getMinutes(), new Date().getSeconds());
console.log(fiveHoursLater.getTime() > selected.getTime());
}
.as-console-wrapper {
max-height: 40px !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<input class="timepicker" />
我需要 Timepicker 的解决方案。 我在 Javascript 中添加了一个时间选择器,现在用户可以 select 从下拉列表中选择时间, 但我想检查用户 select 编辑的时间是否在当前时间的 5 小时之间,否则 return 为假。让我与您分享我的代码。
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
setTime: new Date(),
"minTime": "" + hour + ":" + minute + "",
dynamic: true,
dropdown: true,
scrollbar: true,
change: countneartime
});
function countneartime(){
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var output = (month<10 ? '0' : '') + month + '/' +
(day<10 ? '0' : '') + day + '/'+ d.getFullYear() ;
var pickup = $(".start-date").val();
if(output == pickup){
// write code to check condition if user selected time within 5 hours of upcoming
}
}
如果用户 selected 时间在当前时间的即将到来的 5 小时内,我想 return false。 请帮助我
var d1 = new Date();
d1.setHours(d1.getHours() + 4); //upcoming 5 hours
var d2 = new Date($(".start-date").val());
var d3 = new Date(); //current time
var d1msecs = new Date(d1).getTime(); // get milliseconds
var d2msecs = new Date(d2).getTime(); // get milliseconds
var d3msecs = new Date(d3).getTime(); // get milliseconds
if(d1msecs <= d2msecs && d2msecs >= d3msecs)
{
return false;
}
尝试以下操作:
let hour = 12,
minute = 0;
$('.timepicker').timepicker({
timeFormat: 'h:mm p',
"minTime": "" + hour + ":" + minute + "",
dynamic: true,
dropdown: true,
scrollbar: true,
change: countneartime
});
function countneartime(val) {
var selected = new Date(val);
var fiveHoursLater = new Date(0, 0, 0, new Date().getHours() + 5, new Date().getMinutes(), new Date().getSeconds());
console.log(fiveHoursLater.getTime() > selected.getTime());
}
.as-console-wrapper {
max-height: 40px !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
<input class="timepicker" />