【发布时间】:2018-07-31 09:44:44
【问题描述】:
我正在尝试计算两次之间的差异并增加结果。对于这些,我尝试了下面的代码。
function toSeconds(time_str) {
// Extract hours, minutes and seconds
var parts = time_str.split(':');
// compute and return total seconds
return parts[0] * 3600 + // an hour has 3600 seconds
parts[1] * 60 + // a minute has 60 seconds
+
parts[2]; // seconds
}
var a = "12:00:00"
var b = "13:05:02"
var difference = Math.abs(toSeconds(a) - toSeconds(b));
// format time differnece
var result = [
Math.floor(difference / 3600), // an hour has 3600 seconds
Math.floor((difference % 3600) / 60), // a minute has 60 seconds
difference % 60
];
// 0 padding and concatation
result = result.map(function (v) {
return v < 10 ? '0' + v : v;
}).join(':');
alert(result);
假设开始时间是 00:05 AM,结束时间是 00:10 AM。如果我们在这两个时间之间进行计算,结果将是 5 分钟。所以我们需要像 00:05:00 这样增加这些。从现在开始,时间将从秒、分钟、小时开始递增
但如果提供 12 小时 格式来计算剩余小时数,它会起作用。是否有可能计算两次之间的差异并增加结果时间。
【问题讨论】:
-
不清楚你在问什么。什么不工作?
-
像什么递增?小时还是分钟?
-
Bojjaiah 为什么你的代码看起来和答案一模一样,这里有 5 票 stackoverflow.com/questions/11883768/…
-
删除
min = ((min / 60) * 100).toString(),它工作正常 -
@shreyasminocha 假设开始时间 00:05 AM 和结束时间 00:10 AM。如果我们在这两个时间之间进行计算,结果将是 5Minutes 正确的。所以我们需要像 00:05:00 这样增加它们。从现在开始,时间将从秒、分钟和小时开始递增。参考htmldrive.net/items/demo/1454/…
标签: javascript time increment