javascript - 如何计算小时到分钟?
问题描述
我面临一些问题,我希望剩余时间显示为小时和分钟。
现在的问题是,在计算时间时,它会显示例如1.97
小时。我希望时间像1.30
(1h30min)。
我也面临时间到达的问题,我希望将剩余时间计算到下一个open
。
以下是我到目前为止所做的代码:
var openTime = [{
open: -1,
close: -1
}, {
open: 8,
close: 21
}, {
open: 8,
close: 21
}, {
open: 8,
close: 21
}, {
open: 8,
close: 21
}, {
open: 8,
close: 21
}, {
open: 8,
close: 17
}]
var current = new Date();
var day = current.getDay();
var nextday = current.getDay()+1;
var currentTime = current.getHours() + (current.getMinutes() / 60);
var remainTime = 0;
if (openTime[day].close - (currentTime).toFixed(2) >= 0) {
remainTime = (openTime[day].close - currentTime).toFixed(2)
console.log("close in %s hours", remainTime);
document.getElementById("hours").innerHTML = "close in " + remainTime+ " hours"
}
else if (openTime[day].close - (currentTime).toFixed(2) <= 0) {
remainTime = (currentTime).toFixed(2) + (openTime[nextday].open)
document.getElementById("hours").innerHTML = "open in " + remainTime+ " hours"
}
<div id="hours"></div>
解决方案
function timeConvert(n) {
var num = n;
var hours = (num / 60);
var rhours = Math.floor(hours);
var minutes = (hours - rhours) * 60;
var rminutes = Math.round(minutes);
return num + " minutes = " + rhours + " hour(s) and " + rminutes + " minute(s).";
}
console.log(timeConvert(200));
我想你可以接受这个。
推荐阅读
- javascript - 从 require 迁移到 import 语法
- mysql - 在连接到真实数据库的 gitlab CI 中运行单元测试
- azure-devops - 如何在 Devops/VSTS 中自动启动先前成功的发布
- .net - xml 文件在 .net 核心项目的 aws 托管中不起作用
- repast-simphony - 我可以在运行GUI 中显示parameters.xml 中定义的参数的顺序吗?
- mongodb - Mongodb java driver 4.0 中的 DBRefs 支持
- reactjs - 单击按钮时在父组件和子组件之间切换的正确方法
- java - 从 docker 到主机和反向的 DBus 通信
- python - 如何在python中加速N维区间树?
- javascript - Openlayers:防止功能图标覆盖