Вычтите время классифицируйте, если разница составляет минуты - PullRequest
0 голосов
/ 03 июля 2019

Привет. Я вычитаю 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 часа», тогда, когда разница между временем и минутами, она отображала «00:06 минут». Как я могу этого достичь? Пожалуйста, помогите мне. Заранее спасибо.

1 Ответ

0 голосов
/ 03 июля 2019

ниже код должен работать: -

 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;
    }
...