Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
";0“;分钟未出现在当前时间中(JavaScript/HTML)_Javascript_Html - Fatal编程技术网

";0“;分钟未出现在当前时间中(JavaScript/HTML)

";0“;分钟未出现在当前时间中(JavaScript/HTML),javascript,html,Javascript,Html,一般来说,我对编码相当陌生,所以如果我听起来很愚蠢,请提前道歉 我目前正在做一个关于智能镜像的项目。GUI显示用户的日历、当前时间和日期等。但是,我对构建的当前时间方面有问题。 由于某些原因,如果分钟为“0”(例如“18:05”),则当前时间将显示,而不包含分钟,例如“18:5”。任何帮助都将不胜感激!下面是代码 函数updatelock(){ var now=新日期(), 月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、

一般来说,我对编码相当陌生,所以如果我听起来很愚蠢,请提前道歉

我目前正在做一个关于智能镜像的项目。GUI显示用户的日历、当前时间和日期等。但是,我对构建的当前时间方面有问题。 由于某些原因,如果分钟为“0”(例如“18:05”),则当前时间将显示,而不包含分钟,例如“18:5”。任何帮助都将不胜感激!下面是代码

函数updatelock(){
var now=新日期(),
月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
time=now.getHours()+':'+now.getMinutes(),now.getSeconds();
日期=[now.getDate(),
月份[now.getMonth()],
现在。getFullYear()
].加入(“”);
document.getElementById(“时间”).innerHTML=[date,time].join(“/”);
setTimeout(updatelock,1000);
}
updatelock()
('0'+now.getMinutes()).slice(-2)
这将在前面加零,并取最后2位数字。所以
5
变成
05
,最终结果是
05
<代码>15
变成
015
所以最终结果变成
15

time =now.getHours() + ':' + ('0'+now.getMinutes()).slice(-2)+':'+ ('0'+now.getSeconds()).slice(-2);
如果分钟数小于10,则添加“0”

还要将now.getMinutes()保存到一个变量中,这样就不会多次生成它(浪费函数调用)

函数updatelock(){
var now=新日期();
var mins=5;//设置为now.getMinutes()
分钟=分钟<10?“0”+分钟:分钟;
风险值月份=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
time=now.getHours()+':'+分钟,now.getSeconds();
日期=[now.getDate(),
月份[now.getMonth()],
现在。getFullYear()]。join(“”);
document.getElementById(“时间”).innerHTML=[date,time].join(“/”);
setTimeout(updatelock,1000);
}
updatelock()
根据您的浏览器支持,您可以使用

函数updatelock(元素){
const now=新日期();
const date=新的Intl.DateTimeFormat('en-GB'{
年份:'数字',
月:“长”,
日期:'数字',
}).格式(现在);
常量时间=新的Intl.DateTimeFormat('en-GB'{
小时:“2位”,
分钟:“两位数”,
}).格式(现在);
element.textContent=`${date}/${time}`;
}
setInterval(updateLock.bind(null,document.getElementById('time')),1000)

至少
now.getMinutes(),now.getSeconds()
应该是
now.getMinutes()+':'+now.getSeconds()
然后您可以使用类似
now.getSeconds()>=10?now.getSeconds():('0'+now.getSeconds())
要将前导零添加到整数值的字符串表示中,请使用
.textContent=
而不是
.innerHTML=
,因为它不会调用HTML解析器或显著的DOM操作,所以速度要快得多。谢谢!我现在就要试一试!我要试试这个!谢谢