在 JavaScript 中获取两个时间之间的时差
Get Time Difference Between two times in Javascript
我需要计算字符串中给出的时间之间的时差。我在字符串中有时间,见下文
var time1 = "07:50";
var time2 = "08:30";
var time3 = "24:00";
for calculating time difference.I tried like this code snippets
var date1 = new Date(2015, 01,07, time1.split(":")[0],time1.split(":")[1]);
var date2 = new Date(2015, 01, 07, time2.split(":")[0], time2.split(":")[1]);
var date3 = new Date(2015, 01, 07, time3.split(":")[0], time3.split(":")[1]);
if (date2 > date1) {
var diff = date2 - date1;
}
虽然我有第三次需要时间3并添加如下条件
if (date2 > date1) {
var diff = date2 - date1;
}else{
var diff = date3-date2+date1;
}
现在差异未正确显示。我怎样才能得到确切的小时和分钟差异。任何其他简单的方法都在那里。让我帮忙
您不需要创建日期,只需将字符串转换为分钟即可。基于您的原始代码:
var t1 = time1.split(":")[0]*60 + time1.split(":")[1]*1;
var t2 = time2.split(":")[0]*60 + time2.split(":")[1]*1;
var t3 = time3.split(":")[0]*60 + time3.split(":")[1]*1;
现在差异将是您可以转换为 hh:mm 的分钟数:
var diff;
if (t2 > t1) {
diff = t2 - t1;
}else{
diff = t3 - t2 + t1;
}
function pad(n) {return (n<10? '0':'') + n}
var s = pad(diff/60 | 0) + ':' + pad(diff%60);
console.log(s); // 00:40
你期待什么结果?
您还可以使用一些常规功能:
// Convert H:M:S to seconds
// Seconds are optional (i.e. n:n is treated as h:s)
function hmsToSeconds(s) {
var b = s.split(':');
return b[0]*3600 + b[1]*60 + (+b[2] || 0);
}
// Convert seconds to hh:mm:ss
function secondsToHMS(secs) {
function z(n){return (n<10?'0':'') + n;}
var sign = secs < 0? '-':'';
secs = Math.abs(secs);
return sign + z(secs/3600 |0) + ':' + z((secs%3600) / 60 |0) + ':' + z(secs%60);
}
var t1 = hmsToSeconds(time1);
var t2 = hmsToSeconds(time2);
var t3 = hmsToSeconds(time3);
var diff;
if (t2 > t1) {
diff = secondsToHMS(t2 - t1);
}else{
diff = secondsToHMS(t3 - t2 + t1);
}
console.log(diff); // 00:40:00
相关文章:
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 将两个Json提要合并为一个,并按时间排序
- 两个日期时间选择器
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- 用时间戳获取两个不同日期之间的时间差
- Mongoose查询在两个日期时间之间提取数据
- 如何将日期和时间拆分为两个元素
- 速度.js动画两个属性时持续时间不同
- 如何在javascript中计算两个日期时间之间的差异
- 比较两个时间戳天数
- 用户如何获取两个时间戳之间的对象
- 如何比较两个时间戳的值
- 如何在javascript中比较两个日期时间
- 如何使用JS/jQuery验证两个下拉字段中的时间值
- 返回两个日期时间单元格之间的差值
- 比较D3.js中的两个时间对象
- 如何在 24 小时制下计算两个时间之间的时差
- 如何在提交之前比较两个日期时间类型的输入
- 如何在Meteor中使用两个按时间排序的不同模板显示两个不同的集合
- Javascript日期时间两个小时