Você pode me dizer como definir a hora neste formato HH: MM: SS. Eu quero definir isso em um div?
Você pode me dizer como definir a hora neste formato HH: MM: SS. Eu quero definir isso em um div?
Respostas:
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 usando apenas javaScript
Atualizar
(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();
})();
Você pode usar a função nativa Date.toLocaleTimeString()
:
var d = new Date();
var n = d.toLocaleTimeString();
Isso exibirá, por exemplo:
"11:33:01"
Encontrei-o em http://www.w3schools.com/jsref/jsref_tolocaletimestring.asp
Você pode fazer isso em Javascript
.
var time = new Date();
console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
No momento, ele retorna 15:5:18
. Observe que se algum dos valores for menor que 10, eles serão exibidos usando apenas um dígito, não dois.
Verifique isso no JSFiddle
Atualizações:
Para tentativa com prefixo 0
var time = new Date();
console.log(
("0" + time.getHours()).slice(-2) + ":" +
("0" + time.getMinutes()).slice(-2) + ":" +
("0" + time.getSeconds()).slice(-2));
Você pode usar o moment.js para fazer isso.
var now = new moment();
console.log(now.format("HH:mm:ss"));
Saídas:
16:30:03
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>
Uma maneira muito simples usando moment.js e setInterval .
setInterval(() => {
moment().format('h:mm:ss a');
}, 1000)
Saída de amostra
Usando setInterval()
definido como 1000ms ou 1 segundo, a saída será atualizada a cada 1 segundo.
15:25:50
É assim que uso esse método em um dos meus projetos paralelos.
setInterval(() => {
this.time = this.shared.time;
}, 1000)
Talvez você esteja se perguntando se o uso setInterval()
causaria alguns problemas de desempenho.
O setInterval faz uso intensivo da CPU?
Eu não acho que setInterval inerentemente causará problemas de desempenho significativos. Suspeito que a reputação possa vir de uma época anterior, quando as CPUs eram menos potentes. ... - solitário dia
Não, setInterval não consome muita CPU por si só. Se você tiver muitos intervalos rodando em ciclos muito curtos (ou uma operação muito complexa rodando em um intervalo moderadamente longo), então isso pode facilmente tornar-se intensivo na CPU, dependendo exatamente do que seus intervalos estão fazendo e com que freqüência eles estão fazendo isso. ... - aroth
Mas, em geral, usar setInterval realmente gosto muito em seu site pode tornar as coisas mais lentas. 20 intervalos simultâneos com trabalho mais ou menos pesado afetarão o show. E então novamente .. você realmente pode bagunçar qualquer parte, eu acho que não é um problema de setInterval. ... - jAndy
new Date().toLocaleTimeString('it-IT')
A it-IT
localidade preenche a hora se necessário e omite PM ou AM01:33:01
.toLocaleTimeString()
?
1:15:30 PM
que perde o 0 inicial e adiciona `PM` que você teria que remover de outra forma. Eu editei minha resposta para esclarecer isso.
Este código irá gerar a hora atual no formato HH: MM: SS no console, levando em consideração os fusos horários 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
Este é um exemplo de como definir o tempo em um div (only_time) usando 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>