Javascript 如何计算小时到分钟?
我面临一些问题,我希望剩余的时间显示为小时和分钟 现在的问题是,在计算时间时,它会显示例如Javascript 如何计算小时到分钟?,javascript,html,Javascript,Html,我面临一些问题,我希望剩余的时间显示为小时和分钟 现在的问题是,在计算时间时,它会显示例如1.97hours。我希望时间像1.30(1h30分钟) 我还面临一个问题,即时间已到,我希望剩余时间计算到下一个打开的 以下是我迄今为止完成的代码: var openTime=[{ 开放:-1, 关闭:-1 }, { 开放时间:8, 截止时间:21 }, { 开放时间:8, 截止时间:21 }, { 开放时间:8, 截止时间:21 }, { 开放时间:8, 截止时间:21 }, { 开放时间:8, 截止
1.97
hours。我希望时间像1.30
(1h30分钟)
我还面临一个问题,即时间已到,我希望剩余时间计算到下一个打开的
以下是我迄今为止完成的代码:
var openTime=[{
开放:-1,
关闭:-1
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:17
}]
var current=新日期();
var day=current.getDay();
var nextday=current.getDay()+1;
var currentTime=current.getHours()+(current.getMinutes()/60);
var剩余时间=0;
if(开放时间[天].close-(当前时间).toFixed(2)>=0){
remainTime=(开放时间[天]。关闭-当前时间)。toFixed(2)
console.log(“在%s小时内关闭”,重新启动);
document.getElementById(“小时”).innerHTML=“关闭时间”+remainTime+“小时”
}
else if(开放时间[天]。关闭-(当前时间).toFixed(2)
函数时间转换(n){
var num=n;
变量小时数=(num/60);
var rhours=数学楼层(小时);
var分钟=(小时-小时)*60;
var rminutes=数学轮(分钟);
return num+“minutes=“+rhours+”小时和“+rminutes+”分钟”;
}
console.log(timeConvert(200));
尝试这样做。将打开和关闭时间转换为分钟,将当前时间也转换为分钟,并计算剩余时间
var openTime=[{
开放:-1,
关闭:-1
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
收盘时间:10
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:21
}, {
开放时间:8,
截止时间:17
}]
var current=新日期();
var day=current.getDay();
var nextday=current.getDay()+1;
var currentTime=currentTime=(current.getHours()*60)+current.getMinutes();
var剩余时间=0;
var closeTime=(开放时间[天].close*60);
var openTime=(openTime[day].open*60);
如果(关闭时间-当前时间>=0){
剩余时间=关闭时间-当前时间;
console.log(“在%s分钟内关闭”,重新启动);
var小时=数学楼层(剩余时间/60);
如果(小时==0){
document.getElementById(“小时”).innerHTML=“关闭时间”+Math.floor(remainTime%60)+“分钟”;
}否则{
document.getElementById(“小时”).innerHTML=“关闭时间”+hours+“小时”+Math.floor(remainTime%60)+“分钟”;
}
}
否则如果(closeTime-currentTime请在关闭功能参数中调整关闭时间进行测试。希望对您有所帮助
功能关闭(关闭时间){
让当前_datetime=新日期();
设格式化的_date=current_datetime.getFullYear()+“-”+(current_datetime.getMonth()+1)+“-”+current_datetime.getDate()
var关闭=新日期(格式化的日期+关闭时间);
//获取两次之间的总秒数
var delta=Math.abs(当前日期时间-关闭)/1000;
//计算(并减去)整小时
var小时=数学地板(增量/3600)%24;
增量-=小时*3600;
//计算(并减去)整分钟
var分钟=数学地板(增量/60)%60;
增量-=分钟*60;
//警报(分钟);
警报(“回家的剩余时间:+小时+“小时”+分钟+“分钟”);
}
结束(“06:30 PM”);
你的符号中应该是什么?1.97
或1h37m
或1h58m
?更简单的是用分钟来表示时间,而不是小时分数。例如:currentTime=(current.getHours()*60)+current.getMinutes()并在检查和计算完成后的时间和分钟内转换时间。工作时间很复杂,因为不是每天都有24个小时,而不是每个月只有30天或31天,等等。我建议考虑使用一个像“代码>时刻”之类的库。JS<代码>谢谢。我试图隐藏<代码>“小时”。
当剩余时间低于1h时。我不确定该代码应该是什么样子,也不确定该代码应该放在if语句中的什么位置,你能帮我一下吗?@syedThanks很多!我在查看代码时遇到了一些问题。我正在尝试让代码如果(closeTime-currentTime)有什么消息吗?@syed