将当前时间增加50分钟



我有一个选择字段,其中包含小时和分钟的选项字段,如下所示:

<select name="" id="delyvery-hour">
<option value="18:00">18:00</option>
<option value="18:05">18:05</option>
<option value="18:15">18:15</option>
<option value="18:20">18:20</option>
<option value="18:25">18:25</option>
<option value="18:30">18:30</option>
<option value="18:35">18:35</option>
<option value="18:40">18:40</option>
<option value="18:45">18:45</option>
<option value="18:50">18:50</option>
<option value="18:55">18:55</option>
<option value="19:00">19:00</option>
<option value="19:05">19:05</option>
<option value="19:15">19:15</option>
<option value="19:20">19:20</option>
<option value="19:25">19:25</option>
<option value="19:30">19:30</option>
<option value="19:35">19:35</option>
<option value="19:40">19:40</option>
<option value="19:45">19:45</option>
<option value="19:50">19:50</option>
<option value="19:55">19:55</option>
<option value="20:00">20:00</option>
</select>

我使用jquery来检测当前时间,并删除select前面的选项和经过的小时数。

我想要实现的是只显示前面50分钟的选项。

例如,如果现在是18:00,我需要从18:50开始查看选项,或者如果当前小时是19:20,则显示从20:10开始的选项等。

以下是示例:https://codepen.io/7lifedesign/pen/dyvaxWW

var dt = new Date();
var time = dt.getHours();
document.write(time);
$('#delyvery-hour option').filter(function(){
return parseInt(this.value,10) < time;
}).remove();

这非常简单:检索当前日期,添加50分钟,并以hh:mm格式存储。然后过滤您的<option>标记,以删除任何值小于(字符串,而不是数字(给定hh:mm的选项。

function pad2(n) {
if (n < 10) {
n = '0' + n;
}
return n;
}
var dt = new Date();
dt.setMinutes ( dt.getMinutes() + 50 ); // 50 minutes from now
var hhmm = pad2(dt.getHours()) + ':' + pad2(dt.getMinutes()); // e.g. 18:05
//document.write(hhmm);
$('#delyvery-hour option').filter(function(){
return this.value < hhmm;
}).remove();
<script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
<select name="" id="delyvery-hour">
<option value="18:00">18:00</option>
<option value="18:05">18:05</option>
<option value="18:15">18:15</option>
<option value="18:20">18:20</option>
<option value="18:25">18:25</option>
<option value="18:30">18:30</option>
<option value="18:35">18:35</option>
<option value="18:40">18:40</option>
<option value="18:45">18:45</option>
<option value="18:50">18:50</option>
<option value="18:55">18:55</option>
<option value="19:00">19:00</option>
<option value="19:05">19:05</option>
<option value="19:15">19:15</option>
<option value="19:20">19:20</option>
<option value="19:25">19:25</option>
<option value="19:30">19:30</option>
<option value="19:35">19:35</option>
<option value="19:40">19:40</option>
<option value="19:45">19:45</option>
<option value="19:50">19:50</option>
<option value="19:55">19:55</option>
<option value="20:00">20:00</option>
</select>

最新更新