Javascript 在字符串时间中添加20分钟,并将其填充到文本框中或向其发出警报

Javascript 在字符串时间中添加20分钟,并将其填充到文本框中或向其发出警报,javascript,jquery,Javascript,Jquery,我在select/list控件中填充了一个时间字符串,例如05:40,每当列表值在jquery或javascript中发生更改时,我想在其中添加20分钟,并在文本框中填充 $(document).ready(function() { $("#starttimeList").change(function() { var selectVal = $('#starttimeList').val(); ////// HERE I WANT MY CODE AS selectVal is ge

我在select/list控件中填充了一个时间字符串,例如05:40,每当列表值在jquery或javascript中发生更改时,我想在其中添加20分钟,并在文本框中填充

$(document).ready(function() {

$("#starttimeList").change(function() {
var selectVal = $('#starttimeList').val();
    ////// HERE I WANT MY CODE AS selectVal is getting value of select control e.g. 05:40 and entTime is my textbox where I want the time added with 20 minutes.
$("#endTime").val(selectVal);

 });
});

如果时间的格式为hh:mm,您可以使用一个简单的函数将其转换为分钟,添加更多分钟,然后再次将其转换回hh:mm:

function addMinutes(time/*"hh:mm"*/, minsToAdd/*"N"*/) {
  function z(n){
    return (n<10? '0':'') + n;
  }
  var bits = time.split(':');
  var mins = bits[0]*60 + (+bits[1]) + (+minsToAdd);

  return z(mins%(24*60)/60 | 0) + ':' + z(mins%60);  
}  

addMinutes('05:40', '20');  // '06:00'
addMinutes('23:50', 20);    // '00:10'
addMinutes('00:00', '120'); // '02:00'
要添加的分钟数可以是数字或字符串


如果需要夏时制,使用日期对象可能会使生活更轻松。

要仔细检查,是否要查看starttimeList元素,并在更改时将另一个元素endTime提前20分钟更新?endTime应该以什么格式显示?endTime是一个文本框,我想在其中显示添加了20分钟的更改时间,当我使用javascript数据对象将starttimeList值转换为日期时,它表示时间无效,如果我可以将05:40更改为适当的日期和时间,那么我可能会在其中添加20分钟,但仍然没有完成。starttimeList是一个HTML选择控件,其中填充了时间段,例如05:00、05:20、05:40等。JavaScript日期类型正好表示日期。如果starttimeList的值类似于05:40,JavaScript解释器如何将其转换为完整日期?今天5点40分?昨天这是一个更基本的问题。您可以构造一个完整的日期,从输入中提取小时和分钟,从当前日期提取其余时间,然后使用该日期计算结束时间。是否有其他方法可以在不转换为日期对象的情况下在时间中添加20分钟。因为我需要的是,当用户从列表中选择时,只在文本框中显示20分钟的附加值。谢谢这个功能。不需要时间。干杯