美好的一天,
我在HTML代码中使用了以下时间函数JS。我仍然在学习和理解JS的过程中一直在玩它。但是,我最近注意到,每当我的分钟数小于10时,0就会被取走,比如14:5而不是14:05。是否有快速格式化方法来解决这个问题?
先谢谢,这是JS的功能
function updateClock() {
var now = new Date(),
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
time = now.getHours() + ':' + now.getMinutes();
date = [now.getDate(),
months[now.getMonth()],
now.getFullYear()].join(' ');
// set the content of the element with the ID time to the formatted string
// document.getElementById('time').innerHTML = [date, time].join(' ');
document.getElementById('time').innerHTML = ["Today is", date, "and the time is", time].join(' ');
setTimeout(updateClock, 1000);
}
updateClock();
答案 0 :(得分:1)
您应该能够检查您的分钟值是否小于10并在其前面附加0
:
// If the minutes are greater than 10, pad them with a '0'
time = now.getHours() + ':' + (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();
示例强>
你可以see a working example here并在下面演示:
答案 1 :(得分:0)
据我所知,没有内置的方法。但是,您可以使用三元运算符在必要时添加0。
var mins = now.getMinutes();
var minsFixed = mins < 10 ? '0' : '' + mins;
time = now.getHours() + ':' + minsFixed;
答案 2 :(得分:0)
再使用一个这样的格式函数,并在任何地方调用它:
function zero(num) {
return num < 10 ? '0' + num : num;
}