im 使用休耕代码计算这两个字段中的总分钟数,但我不断得到 0.00 而不是 00.00
function calculate() {
time1 = $("#field1").val().split(':'),
time2 = $("#field2").val().split(':');
hours1 = parseInt(time1[0], 10),
hours2 = parseInt(time2[0], 10),
mins1 = parseInt(time1[1], 10),
mins2 = parseInt(time2[1], 10);
hours = hours2 - hours1,
mins = 0;
if(hours < 0) hours = 24 + hours;
if(mins2 >= mins1) {
mins = mins2 - mins1;
} else {
mins = (mins2 + 60) - mins1;
}
// the result
$("#total").val(hours + ':' + mins);
}
我也想将 NAN 替换为 00.00
检查它们是否小于 10,如以下示例所示:
hours=(hours<10)?'0'+hours:hours;
mins =(mins <10)?'0'+mins:mins;
您可以使用以下命令将NaN
小时和分钟设置回整数:
if (!hours) {
hours = 0;
}
if (!mins) {
mins = 0;
}
然后,如果值小于 10
(且大于 0
),则只需在前面加上一个0
:
if (hours < 10 && hours > 0) {
hours = '0' + hours;
}
if (mins < 10 && mins > 0) {
mins = '0' + mins;
}
这可以在以下方面看到:
function calculate() {
time1 = $("#field1").val().split(':'),
time2 = $("#field2").val().split(':');
hours1 = parseInt(time1[0], 10),
hours2 = parseInt(time2[0], 10),
mins1 = parseInt(time1[1], 10),
mins2 = parseInt(time2[1], 10);
hours = hours2 - hours1,
mins = 0;
if (hours < 0) hours = 24 + hours;
if (mins2 >= mins1) {
mins = mins2 - mins1;
} else {
mins = (mins2 + 60) - mins1;
}
if (!hours) {
hours = 0;
}
if (!mins) {
mins = 0;
}
if (hours < 10 && hours > 0) {
hours = '0' + hours;
}
if (mins < 10 && mins > 0) {
mins = '0' + mins;
}
// the result
$("#total").val(hours + ':' + mins);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="field1">
<input id="field2">
<button onclick="calculate()">Go</button>
<br /><br />
<input id="total">
希望这有帮助! :)