javascript - 比较两个字符串的时间差(JS)
问题描述
我有2个字符串。例如 :
let str1 = '11:00'
let str2 = '08:00'
我需要能够得到 - 在这个例子中 str1-str2=3 之间的小时差。
我尝试过,parseInt()
但它实际上不会将整个字符串转换为数字。有什么想法吗?
解决方案
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; }
推荐阅读
- ios - Different look at iPhone 8 and iPhone X
- java - 在命令行中构建项目时如何更改存储库的 Maven 构建路径
- java - Java 反射:扩展类的类的访问方法
- javascript - 带有角度 6 的 Firebase 导入问题?
- python - How do I get DOT to output its node?
- apache-spark - 如果其中一个节点已满,Spark 广播变量会发生什么情况
- joomla - Joomla1.5→3.9:老Artisteer模板在某个变量处中断
- php - Laravel Form::select not binding on model in production, but local
- sql - SQL Server : skip update if variable is NOT NULL
- c - comparing an inputted string to a printed function