用于HTML的JS时间显示单位数分钟

时间:2016-05-05 19:14:30

标签: javascript html time web

美好的一天,

我在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();

3 个答案:

答案 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并在下面演示:

enter image description 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;
}