我正在尝试创建一个显示时间的 select
元素:
<strong>Time:</strong>
<select name="hours" id="hours">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
</select>
:
<select name="minutes" id="minutes">
<option value="00">00</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select>
在我的 JavaScript 中,我试图显示当前时间。我目前有将四分之一小时向上或向下舍入的代码。所以,10:25 => 10:30 & 9:18 => 9:15
。
我想知道如何只四舍五入而不是四舍五入。
我的 JavaScript:
var CurrentDate=new Date();
$("#hours").val(CurrentDate.getHours());
$("#minutes").val((((CurrentDate.getMinutes() + 7.5)/15 | 0) * 15) % 60);
试试这个代码:
var minutes = (parseInt((CurrentDate.getMinutes() / 15)) + 1) * 15;
minutes = minutes >= 60 ? minutes - 60 : minutes;
$("#minutes").val(minutes);
代码说明:
var minutes = (parseInt((CurrentDate.getMinutes() / 15)) + 1) * 15;
此行将当前分钟数除以 15,并将结果解析为整数,以去除 float ,并加上 +1 对其进行四舍五入。然后乘以 15 得到当前刻钟的正确分钟数
minutes = minutes >= 60 ? minutes - 60 : minutes;
检查结果分钟数是否大于 60,如果大于 60,则减去 60 以不“超过”60 分钟
$("#minutes").val(minutes);
设置给定标签的值
我是一名优秀的程序员,十分优秀!