HH: MM: SS .Bunu bir div içinde ayarlamak istiyorum.
HH: MM: SS .Bunu bir div içinde ayarlamak istiyorum.
Yanıtlar:
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>
Yalnızca javaScript kullanan DEMO
Güncelleme
(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();
})();
Yerel işlevi kullanabilirsiniz Date.toLocaleTimeString():
var d = new Date();
var n = d.toLocaleTimeString();
Bu, örneğin şunu gösterecektir:
"11:33:01"
Http://www.w3schools.com/jsref/jsref_tolocaletimestring.asp adresinde buldum
new Date().toLocaleTimeString()
Bunu içinde yapabilirsiniz Javascript.
var time = new Date();
console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
Şu anda geri dönüyor 15:5:18. Değerlerden herhangi biri 10'dan küçükse, iki değil, yalnızca bir basamak kullanılarak görüntüleneceklerini unutmayın.
Bunu JSFiddle'da kontrol edin
Güncellemeler:
Önekli 0'lar için deneyin
var time = new Date();
console.log(
("0" + time.getHours()).slice(-2) + ":" +
("0" + time.getMinutes()).slice(-2) + ":" +
("0" + time.getSeconds()).slice(-2));
Bunu yapmak için moment.js'yi kullanabilirsiniz .
var now = new moment();
console.log(now.format("HH:mm:ss"));
Çıktılar:
16:30:03
Bu kod, konsolda HH: MM: SS biçiminde geçerli saati verir, GMT saat dilimlerini dikkate alır.
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
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>
Moment.js ve setInterval kullanmanın çok basit bir yolu .
setInterval(() => {
moment().format('h:mm:ss a');
}, 1000)
Örnek çıktı
setInterval()1000ms veya 1 saniyeye ayar kullanıldığında , çıktı her 1 saniyede bir yenilenecektir.
15:25:50
Bu yöntemi yan projelerimden birinde bu şekilde kullanıyorum.
setInterval(() => {
this.time = this.shared.time;
}, 1000)
Belki kullanmanın setInterval()bazı performans sorunlarına neden olup olmayacağını merak ediyorsunuzdur .
SetInterval'in doğası gereği size önemli performans sorunlarına neden olacağını düşünmüyorum. İtibarın, CPU'ların daha az güçlü olduğu daha önceki bir çağdan geldiğinden şüpheleniyorum. ... - yalnız gün
Hayır, setInterval kendi başına CPU yoğun değildir. Çok kısa döngülerde çalışan çok sayıda aralığınız varsa (veya orta derecede uzun bir aralıkta çalışan çok karmaşık bir işlem), aralıklarınızın tam olarak ne yaptığına ve ne sıklıkta yaptıklarına bağlı olarak bu kolayca CPU yoğun hale gelebilir. ... - aroth
Ancak genel olarak, setInterval'i sitenizde gerçekten çok gibi kullanmak işleri yavaşlatabilir. Az ya da çok ağır çalışma ile eşzamanlı olarak 20 kez koşmak şovu etkileyecektir. Ve sonra tekrar .. gerçekten herhangi bir parçayı karıştırabilirsiniz, bu setInterval'in bir problemi değildir. ... - jAndy
new Date().toLocaleTimeString('it-IT')
it-ITYerel gerekirse ped saat olur ve PM veya AM atlar01:33:01
.toLocaleTimeString()?
1:15:30 PMIT'yi dahil etmezseniz, o zaman ilk 0'ı kaçıran ve aksi takdirde çıkarmanız gereken' PM 'ekleyen bir şey elde edersiniz. Bunu açıklığa kavuşturmak için cevabımı düzenledim.
Bu, javascript kullanarak bir div (yalnızca_zaman) içinde zamanın nasıl ayarlanacağına bir örnektir.
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>