• Caricare data-ora prima della pagina

    Ho un codice che mi carica data-ora dopo tutti gli script, io vorrei farla caricare per prima. Poi ho notato che se faccio reload della pagina, la data sparisce e poi riappare, anche questo non so come sistemarlo.

    <script>
    //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 nameDay = new Array('Dom','Lun','Mar','Mer','Gio','Ven','Sab'); 
    var nameMth = new Array('gen','feb','mar','apr','mag','giu','lug','ago','set','ott','nov','dic');
    setTimeout(function() { 
    data() 
    },1000); //Scatta ogni secondo
    document.getElementById('data').innerHTML =  nameDay[giornosett] + ' ' + giorno + ' ' + nameMth[mese] + ' ' + anno + ',&nbsp;';
    }
    
    
    //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); //Scatta ogni secondo
    document.getElementById('ora').innerHTML = ora + ':' + minuti + ':' + secondi;
    }
    window.addEventListener('load',function(){data(); startTime()},true);
    </script>    
    
    
    <?php
    setlocale(LC_TIME, 'ita', 'it_IT.utf8');
    $giorni = array("Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab");
    $mesi = array('', 'gen','feb','mar','apr','mag','giu','lug', 'ago','sett','ott','nov','dic');
    list($sett,$giorno,$mese,$anno) = explode('-',date('w-d-n-Y, H:i:s'));
    ?>
    ...
    <span id="data"><?php echo $giorni[$sett],' ',$giorno,' ',$mesi[$mese],' ',$anno; ?></span><span id="ora"></span>