javascript - 如何减去两个时间字符串 (HH :MM) in javascript?

标签 javascript time

我有两个时间字符串,例如 03:01 和 01:19 。我想减去这两个, 我试过如下,

var time1= "03:01".split(':');
var time2= "01:19".split(':');
var minutes = Math.abs(Number(time1[1])-Number(time2[1]));
var hours = Math.floor(parseInt(minutes / 60));
hours = Math.abs(Number(time1[0])-Number(time2[0])-hours);
minutes = minutes % 60;
if(hours.toString().length == 1){
  hours = '0'+hours;
}
if(minutes.toString().length == 1){
  minutes = '0'+minutes;
}
console.log(hours+':'+minutes);

Expected Answer -> 01:42

Actual Answer -> 02:18

有人能告诉我,我哪里做错了吗?

最佳答案

使用如下几个实用函数可能会有所帮助。

基本上 strToMins 将字符串转换为分钟。 和 minsToStr 转换回字符串。

示例如下。

var time1= "03:01";
var time2= "01:19";

function strToMins(t) {
  var s = t.split(":");
  return Number(s[0]) * 60 + Number(s[1]);
}

function minsToStr(t) {
  return Math.trunc(t / 60)+':'+('00' + t % 60).slice(-2);
}

var result = minsToStr( strToMins(time1) - strToMins(time2) );
console.log(result);

关于javascript - 如何减去两个时间字符串 (HH :MM) in javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57111055/

相关文章:

javascript - 使用 JS,如何换出特定的文本实例而不是所有实例?

javascript - 我用js动态生成一些表单但是数据无法传递到后端

Java:resultSet.getTimestamp 丢失时间

time - 如何检查现在时间是否介于 AutoIt 中的给定时间之间

android - 计算没有 Joda 时间的剩余日期

php - 在 PHP 网站中显示当前时间

c# - 如何改变一个asp :textbox from javascript的值

javascript - 尝试为我的不和谐机器人发出抽奖命令,但始终返回未定义的获胜者

javascript - 作业队列上的 setTimeout 回调是运行还是清除?

ruby rails 数据库时间