Czy możesz mi powiedzieć, jak ustawić czas w tym formacie HH: MM: SS. Chcę to ustawić w div?
javascript
date
datetime
user2648752
źródło
źródło
Odpowiedzi:
function checkTime(i) { if (i < 10) { i = "0" + i; } return i; } function startTime() { var today = new Date(); var h = today.getHours(); var m = today.getMinutes(); var s = today.getSeconds(); // add a zero in front of numbers<10 m = checkTime(m); s = checkTime(s); document.getElementById('time').innerHTML = h + ":" + m + ":" + s; t = setTimeout(function() { startTime() }, 500); } startTime();
<div id="time"></div>
DEMO przy użyciu tylko javaScript
Aktualizacja
Updated Demo
(function () { function checkTime(i) { return (i < 10) ? "0" + i : i; } function startTime() { var today = new Date(), h = checkTime(today.getHours()), m = checkTime(today.getMinutes()), s = checkTime(today.getSeconds()); document.getElementById('time').innerHTML = h + ":" + m + ":" + s; t = setTimeout(function () { startTime() }, 500); } startTime(); })();
źródło
Możesz użyć funkcji natywnej
Date.toLocaleTimeString()
:var d = new Date(); var n = d.toLocaleTimeString();
Spowoduje to wyświetlenie np .:
"11:33:01"
Znalazłem to na http://www.w3schools.com/jsref/jsref_tolocaletimestring.asp
Pokaż fragment kodu
var d = new Date(); var n = d.toLocaleTimeString(); alert("The time is: \n"+n);
źródło
new Date().toLocaleTimeString()
Możesz to zrobić w
Javascript
.var time = new Date(); console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
Obecnie powraca
15:5:18
. Zwróć uwagę, że jeśli którakolwiek z wartości jest mniejsza niż 10, będą wyświetlane przy użyciu tylko jednej cyfry, a nie dwóch.Sprawdź to w JSFiddle
Aktualizacje:
dla prób z prefiksem 0
var time = new Date(); console.log( ("0" + time.getHours()).slice(-2) + ":" + ("0" + time.getMinutes()).slice(-2) + ":" + ("0" + time.getSeconds()).slice(-2));
źródło
Możesz do tego użyć momentu.js .
var now = new moment(); console.log(now.format("HH:mm:ss"));
Wyjścia:
16:30:03
źródło
new Date().toTimeString().slice(0,8)
Zauważ, że toLocaleTimeString () może zwrócić coś w rodzaju
9:00:00 AM
.źródło
Użyj w ten sposób:
var d = new Date(); localtime = d.toLocaleTimeString('en-US', { hour12: false });
Wynik: 18:56:31
źródło
function realtime() { let time = moment().format('h:mm:ss a'); document.getElementById('time').innerHTML = time; setInterval(() => { time = moment().format('h:mm:ss a'); document.getElementById('time').innerHTML = time; }, 1000) } realtime();
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script> <div id="time"></div>
Bardzo prosty sposób za pomocą moment.js i setInterval .
setInterval(() => { moment().format('h:mm:ss a'); }, 1000)
Przykładowe dane wyjściowe
Przy
setInterval()
ustawieniu na 1000 ms lub 1 sekundę dane wyjściowe będą odświeżane co 1 sekundę.W ten sposób używam tej metody na jednym z moich pobocznych projektów.
setInterval(() => { this.time = this.shared.time; }, 1000)
Być może zastanawiasz się, czy używanie
setInterval()
spowoduje problemy z wydajnością.Czy setInterval obciąża procesor?
źródło
new Date().toLocaleTimeString('it-IT')
Ustawienie
it-IT
regionalne zdarza się, że w razie potrzeby wprowadza godzinę i pomija PM lub AM01:33:01
źródło
.toLocaleTimeString()
?1:15:30 PM
co pomija początkowe 0 i dodaje „PM”, które w przeciwnym razie musiałbyś usunąć. Zredagowałem odpowiedź, żeby to wyjaśnić.Ten kod wyświetli aktualny czas w formacie GG: MM: SS w konsoli, uwzględnia strefy czasowe GMT.
var currentTime = Date.now() var GMT = -(new Date()).getTimezoneOffset()/60; var totalSeconds = Math.floor(currentTime/1000); seconds = ('0' + totalSeconds % 60).slice(-2); var totalMinutes = Math.floor(totalSeconds/60); minutes = ('0' + totalMinutes % 60).slice(-2); var totalHours = Math.floor(totalMinutes/60); hours = ('0' + (totalHours+GMT) % 24).slice(-2); var timeDisplay = hours + ":" + minutes + ":" + seconds; console.log(timeDisplay); //Output is: 11:16:55
źródło
To jest przykład, jak ustawić czas w div (only_time) za pomocą javascript.
function date_time() { var date = new Date(); var am_pm = "AM"; var hour = date.getHours(); if(hour>=12){ am_pm = "PM"; } if (hour == 0) { hour = 12; } if(hour>12){ hour = hour - 12; } if(hour<10){ hour = "0"+hour; } var minute = date.getMinutes(); if (minute<10){ minute = "0"+minute; } var sec = date.getSeconds(); if(sec<10){ sec = "0"+sec; } document.getElementById("time").innerHTML = hour+":"+minute+":"+sec+" "+am_pm; } setInterval(date_time,500); <per> <div class="date" id="time"></div> </per>
źródło
new Date().toLocaleTimeString()
źródło