【问题标题】:Jquery time difference in hours from two fields ( AM/PM Format)两个字段的 Jquery 时间差(以小时为单位)(AM/PM 格式)
【发布时间】:2021-06-02 08:22:36
【问题描述】:

我的表单中有两个字段,用户选择输入时间(开始时间、结束时间)我想计算这两个时间字段之间的持续时间。

例如:开始时间 = 上午 6:00,结束时间 = 下午 3:00,持续时间 = 7

start_time 和 end_time,都是 AM/PM 格式。

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以使用此功能。使用您的时间格式。

        $('.btn_duration').on("click", function(){
           duration();
        })
    
        function duration() {
          var _starttime = $('#start_time').val();
          var _endtime = $('#end_time').val();
    
          //divide AM/PM from time
          var _split_starttime = _starttime.split(" ");
          var _split_endtime = _endtime.split(" ");
    
          //check if start time is bigger than end time
          if (_split_starttime[1] == "PM") {
            alert("start time can't be bigger than end time.");
            return false;
          }
          else {
            var _start_timenumber = _split_starttime[0].split(".");
            var _end_timenumber = _split_endtime[0].split(".");
    
            //start time hour & minute
            var _start_hour = parseInt(_start_timenumber[0]); 
            var _start_min = parseInt(_start_timenumber[1]); 
    
            //end time hour & minute
            var _end_hour = parseInt(_end_timenumber[0]); 
            var _end_min = parseInt(_end_timenumber[1]); 
    
            //get hour duration
            var _hour_format = 0;
            if (_split_endtime[1] == "PM") {
              if(_end_hour == 12){
                _end_hour = 0;
              }
              _hour_format = _end_hour + 12;
            }
            else{
              _hour_format = _end_hour;
            }
            var _duration_hour = _hour_format - _start_hour;
    
            //calculate minutes
            var _remained_min = Math.abs(_start_min - _end_min);;
    
            //final result
            var _final_duration = _duration_hour + "Hour " + _remained_min + "Minutes";
            $('#result').val(_final_duration);
          }
        }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
      <input type="text" id="start_time" value="6.10 AM">
      <input type="text" id="end_time" value="2.45 PM">
      <input type="text" id="result" value="">
      <button class="btn_duration">Calculate</button>

    【讨论】:

      猜你喜欢
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多