【发布时间】:2018-10-08 11:49:53
【问题描述】:
我想用 javascript 或 jquery 计算 22:00(今天)和 06:00(明天)之间的时间。如果开始时间 = 23:10 并且停止时间 = 05:20 工作时间为 06:10,因为从 23:10(今天)到 05:20(明天)有 06:10 小时。
我有两个输入字段:
<input type="text" name="startTime" autocomplete="off" style="display:inline;width: 90px;" id="startTime" class="timepicker"/>
<input type="text" name="stopTime" autocomplete="off" style="display: inline;width: 90px;" id="stopTime" class="timepicker1"/>
我的 javascript 代码是:
var start_time = $('#startTime').val();
var end_time = $('#stopTime').val();
var diff = ( new Date("1970-1-1 " + end_time) - new Date("1970-1-1 " + start_time) ) / 60000 / 60;
var decimalTimeString = diff;
var n = new Date(0,0);
n.setSeconds(+decimalTimeString * 60 * 60);
var test = n.toTimeString().slice(0, 8);
$('#workingValue').val(test);
此 javascript 代码有效,但仅计算 00:00 至 23:45 之间的时间,例如如果开始时间 = 00:00 和停止时间 = 23:45 workingValue = 23:45 这是正确的。但如果开始时间是 22:00(例如)停止时间是 01:00,我的工作值不正确。它返回我 00:00 但必须是 03:00。请帮我解决问题! 附:对不起,我的英语不太好!
【问题讨论】:
-
It returning me 00:00你确定吗?我原以为它会是负数...检查diff是否为负数...如果是,则添加 24 -
您可以在此处查看演示。 Mb 听到你的回答 - jsfiddle.net/c0rxkhyz/1
标签: javascript jquery time