javascript - Javascript:计算时差不会返回任何问题
问题描述
我正在尝试使用 hr/min/sec 格式计算开始和结束之间的时间差。我在下面的函数的问题是我console.log
没有返回任何值。希望能得到一些帮助。
var mf_start = "10:30:30";
var mf_end = "11:10:10";
function time_interval(mf_start,mf_end)
{
$s = mf_start;
$e = mf_end;
if ($s < $e)
{
$a = $e - $s;
}
else
{
$e = '+1 day',$e;
$a = $e - $s;
}
$h = Math.floor($a/3600);
$m = Math.floor(($a%3600)/60);
$s = $a%60;
var str = ($h?$h+' hour ':'')+($m?$m+' minute ':'')+($s?$s + ' second ':'');
return str.trim();
}
var c = time_interval(mf_start,mf_end);
console.log(c);
控制台的屏幕截图,它是空白的:(主要问题)
我尝试了什么:
如果我执行以下代码,我会在修剪时收到意外的字符串错误
return trim(($h?$h.' hour ':'').($m?$m.' minute ':'').($s?$s.' second ':''));
所以我先用一个变量把它分开,然后用修剪返回。
预期输出(基于给定值):
39 minute 40 second
解决方案
请更改代码
$s = mf_start;
$e = mf_end;
至
$s = mf_start.split(":");
$s = Number($s[0])*3600 + Number($s[1])*60 + Number($s[2]);
$e = mf_end.split(":");
$e = Number($e[0])*3600 + Number($e[1])*60 + Number($e[2]);
推荐阅读
- java - JUnit 测试 POST 到参数化 API
- android - 使用要识别的单词白名单词典加载 Firebase Vision OCR
- mysql - 根据日期和列值在 mysql 中透视数据
- delphi - FormatSettings.ShortDateFormat 与系统区域设置不同
- css - 在 Blazor 中的单击事件上切换 CSS 活动类
- mysql - Mysql显示查询数据和计数
- azure - Azure 自定义策略 KMSI - 密码重置和取消注册重定向到身份验证响应 url
- mql4 - Mt4 恢复损失脚本
- git - git 在 html 中注入文本
- php - 将 PHP(Google 应用引擎)连接到 SQL Server(Cloud SQL)