Originalmente inviato da
sevenjeak
Ah scusa, pensavo che dovevi aggiornare solamente il giorno, il mese e l'anno.
In questo caso la tua funzione dovrebbe andare bene, c'è solamente il problema che con setTimeout() esegui la funzione passato un tot di tempo, passato quel determinato tot di tempo non la esegui più, invece per eseguirla ogni 1000 secondi dovresti utilizzare la funzione setInterval(), ma dopo dovresti far aggiornare pure la funzione data().
Io ti consiglio di gestire la data è l'ora il un'unica funzione, almeno puoi utilizzare la funzione setTimeout(), visto che cosi facendo la funzione viene eseguita ogni volta che si esegue la funzione data(), non so se mi sono spiegato.
Non ho capito bene la differenza fra setTimeout e setInterval, così si aggiornano in automatico, che cambia se mettevo setInterval?
Codice HTML:
//Data italiana
function data() {
var now = new Date();
var giornosett = now.getDay();
var giorno = now.getDate();
var mese = now.getMonth();
var anno = now.getFullYear();
var nameMth = new Array('gen','feb','mar','apr','mag','giu','lug','ago', 'set','ott','nov’,‘dic');
setTimeout(function() {
data()
},1000);
document.getElementById('data').innerHTML = giorno + ' ' + nameMth[mese] + ' ' + anno;
}
//Ora formato 24 ore
function startTime() {
var today = new Date();
var ora = today.getHours();
var minuti = today.getMinutes();
var secondi = today.getSeconds();
if (ora<=9) { ora='0'+ora; };
if (minuti<=9) { minuti='0'+minuti; };
if (secondi<=9) { secondi='0'+secondi; };
setTimeout(function() {
startTime()
},1000);
document.getElementById('ora').innerHTML = ora + ':' + minuti + ':' + secondi;
}