减去时间分类是否为分钟

时间:2019-07-03 07:42:39

标签: javascript jquery clockpicker

嗨,我要在输入类型上减去2个值,并在一种输入类型上显示差异。

这是我的代码

<div class="col-xs-6 col-md-6">
                                    <label for="date" style="font-size: 16px;">Start Time:</label>
                                    <div class="input-group clockpicker"  data-align="top" data-autoclose="true">
                                      <div class="input-group-addon">
                                       <i class="glyphicon glyphicon-time">
                                       </i>
                                     </div>

                                     <input class="form-control" id="startTime" autocomplete="off" placeholder="Choose time here..." name="startTime" type="text" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" required/>
                                   </div>
                                 </div>

                                 <div class="col-xs-6 col-md-6">
                                  <label for="date" style="font-size: 16px;">End Time:</label>
                                  <div class="input-group clockpicker"  data-align="top" data-autoclose="true">
                                    <div class="input-group-addon">
                                     <i class="glyphicon glyphicon-time">
                                     </i>
                                   </div>

                                   <input class="form-control" id="endTime" autocomplete="off" placeholder="Choose time here..." name="endTime" type="text" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" required/>
                                 </div><br>
                               </div>

                               <div class="col-xs-6 col-md-7">
                                <label for="date" style="font-size: 16px;">Hours Rendered:</label>
                                <div class="input-group"  data-align="top" data-autoclose="true">
                                  <div class="input-group-addon">
                                   <i class="glyphicon glyphicon-time">
                                   </i>
                                 </div>

如果看到我的代码,则在前两种输入类型上使用Clockpicker来获取值,因此该值的输出类似于“ 7:00”。

现在,我使用下面的这个jquery代码成功地减去了代码。

function calculateTime() {
    // Get values.
    var valuestart = $("#startTime").val();
    var valuestop = $("#endTime").val();

    // Create date format.          
    var timeStart = new Date("01/01/2007 " + valuestart);
    var timeEnd = new Date("01/01/2007 " + valuestop);

    // Subtract.
    var difference = timeEnd - timeStart;

    var time = msToTime(difference);
     $("#ren").val(time);

}

function msToTime(s) {
    var ms = s % 1000;
    s = (s - ms) / 1000;
    var secs = s % 60;
    s = (s - secs) / 60;
    var mins = s % 60;
    var hrs = (s - mins) / 60;

    return hrs + ':' + mins;
}

$("#startTime, #endTime").change(calculateTime);

我要发生的是,如果时差以小时为单位,例如“ 2:00”,则显示为“ 2:00 hours”,然后,当时间之间的时差为分钟时,则显示为“ 00:06 minutes”。我该如何实现?请帮我。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

下面的代码应该可以工作:-

 function msToTime(s) {
        var ms = s % 1000;
        s = (s - ms) / 1000;
        var secs = s % 60;
        s = (s - secs) / 60;
        var mins = s % 60;
        var hrs = (s - mins) / 60;
        var str = ' Hours';
        if(hrs===0){str=' Mins';}
        return hrs + ':' + mins + str;
    }