0

選択/リストコントロールに時間文字列を入力します。例: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);

 });
});
4

1 に答える 1

16

時間が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'

追加する分は、数値または文字列にすることができます。

夏時間を採用する必要がある場合は、日付オブジェクトを使用すると作業が楽になる場合があります。

于 2012-11-12T06:31:31.567 に答える