首页 > 解决方案 > 比较两个字符串的时间差(JS)

问题描述

在这篇文章中找不到帮助

我有2个字符串。例如 :

let str1 = '11:00'
let str2 = '08:00'

我需要能够得到 - 在这个例子中 str1-str2=3 之间的小时差。

我尝试过,parseInt()但它实际上不会将整个字符串转换为数字。有什么想法吗?

标签: javascript

解决方案


split由“:”使用。
“重新组合”[0]为小时和[1]分钟(除以 60)。
做差异。
注意:可以给出负小时数和长分数。
注意:不要求使用分钟格式的分数,但可以这样做。
注意:不要求固定小数位数的分数,但可以做到。

var str1 = "11:00";
var str2 = "08:00";

function hourMinuteStringToHourNumber(str) {
  var time = str.split(":");
  return +time[0]+time[1]/60;
};

function logDifference(timeStr1, timeStr2) {
  var time1=hourMinuteStringToHourNumber(timeStr1);
  var time2=hourMinuteStringToHourNumber(timeStr2);
  var diff=time1-time2;
  console.log(timeStr1+" - "+timeStr2+" = "+diff);
};

logDifference(str1, str2);

logDifference("18:45", "10:15");
logDifference("14:40", "10:20");
logDifference("11:23", "16:47");
.as-console-wrapper { max-height: 100% !important; top: 0; }


推荐阅读