如何在javascript中将小时添加到选定时间

How to Add Hours to Selected Time in javascript

本文关键字:添加 定时间 小时 javascript      更新时间:2023-09-26

我对javascript和jQuery很陌生,我有三个字段FromTime、Working hrs和to Time。如果我从时间10:00和工作时间03:00中选择,则预期结果为02:00到结束时间。

<select name="timestart">
<option value="00:00">00:00 am</option>
<option value="00:30">00:30 am</option>
<option value="01:00">01:00 am</option>
</select>

仅将小时添加到所选时间。

您不需要任何第三方JS库来实现您想要的。由于您没有提供进一步的信息,我认为:

  1. 时间在内部以军事时间表示(即晚上10:00=22:00)。例如,会有一个类似于<option value="22:00">10:00 pm</option>的项目。最长可代表时间为23:59
  2. "工作时间"的值不能超过24小时

以下代码返回将给定时间量(以小时为单位)添加到给定军事时间的军事时间:

function addhrs(time, toadd) {
    var hh = parseInt(time.substr(0, 2), 10); //Get the hours
    var mm = parseInt(time.substr(3, 2), 10); //Get the minutes
    var ahh = parseInt(toadd.substr(0, 2), 10); //Get the hours to add
    var amm = parseInt(toadd.substr(3, 2), 10); //Get the minutes to add        
    var minutes = hh*60 + mm;
    var minutes_to_add = ahh*60 + amm;
    var result_minutes = (minutes + minutes_to_add) % 1440;  //Prevent total number of minutes to exceed the minutes in a day.
    var result_hours = Math.floor(result_minutes / 60);
    result_minutes -= result_hours * 60;
    return ('0'+result_hours).substr(-2) + ":" + ('0'+result_minutes).substr(-2); 
}
addhrs('22:00', '03:00'); //Returns: 01:00
addhrs('12:30', '01:30'); //Returns 14:00
addhrs('12:00', '24:00'); //Returns 12:00
addhrs('12:00', '12:00'); //Returns 00:00