2016-05-05 12 views
1

Guten Tag,JS in HTML für Zeitanzeigen einstellige Minuten

Ich habe die folgende Zeit Funktion JS in einem HTML-Code verwendet. Ich bin immer noch dabei, JS zu lernen und zu verstehen und habe damit herumgespielt. Allerdings habe ich kürzlich festgestellt, dass, wenn meine Minuten weniger als 10 sind, die 0 weggenommen wird, sagen wir 14: 5 statt 14:05. Gibt es ein schnelles Format um das zu beheben?

Vielen Dank im Voraus, hier ist die JS-Funktion

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

Antwort

1

Sie sollten in der Lage sein zu überprüfen, ob Ihre Minuten Wert als 10 weniger ist und ein 0 an dem vor ihm anhängen:

// If the minutes are greater than 10, pad them with a '0' 
time = now.getHours() + ':' + (now.getMinutes() < 10 ? '0' : '') + now.getMinutes(); 

Beispiel

Sie können see a working example here und demonstrieren unten:

enter image description here

+0

ich wie diese wirklich und nie für sie die Verwendung dieser Art von Makro gedacht. Ich muss ein wenig warten, um es zu testen und stellen Sie sicher, dass es funktioniert, da Windows 10 nicht wirklich erlaubt mir die Zeit zu ändern nach meinem Vergnügen. – ricknaght

+0

Nevermind, getestet und funktioniert wie Wunder. Das erweitert mein Spektrum sehr, vielen Dank. – ricknaght

0

Soweit ich weiß, gibt es keine integrierte Methode für diese. Sie können jedoch einen ternären Operator verwenden, um die 0 bei Bedarf hinzuzufügen.

var mins = now.getMinutes(); 
    var minsFixed = mins < 10 ? '0' : '' + mins; 
    time = now.getHours() + ':' + minsFixed; 
0

Nur noch ein Format Funktion wie diese verwenden und es überall anrufen:

function zero(num) { 
    return num < 10 ? '0' + num : num; 
}