嗨,我要在输入类型上减去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”。我该如何实现?请帮我。预先谢谢你。
答案 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;
}