Ho questi codici che stampano giorno e ora americani, ma col tag <sup> stampa così: Monday, Aug 13th 2012 10:27:52 am (Le parti in rosso le stampa all'apice).
Essendo 2 codici indipendenti, non capisco perché non stampa in linea, se invece tolgo il tag si allinea tutto.
Codice PHP:
//Date inglesi: Inglese=giorno+mese / Americano=mese+giorno
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('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var nameMth = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug', 'Sep','Oct','Nov’,‘Dec');
if (giorno ==1 || giorno ==21 || giorno ==31) { giorno=+giorno+'<sup>st</sup>'; };
if (giorno ==2 || giorno ==22) { giorno=+giorno+'<sup>nd</sup>'; };
if (giorno ==3 || giorno ==23) { giorno=+giorno+'<sup>rd</sup>'; };
if (giorno >=4 && giorno <=20 || giorno ==30) { giorno=+giorno+'<sup>th</sup>'; };
document.write(' '+ nameDay[giornosett] + ', ' + nameMth[mese] + ' ' + giorno + ' ' + anno + ' ');
}
Codice PHP:
//Ora con am, pm
function startTime() {
var today = new Date();
var ora = today.getHours();
var minuti = today.getMinutes();
var secondi = today.getSeconds();
var partegiorno = ora < 12 ? "am" : "pm";
if (ora > 12) ora -= 12;
else if (ora == 0) ora = 12;
if (minuti<=9) { minuti='0'+minuti; };
if (secondi<=9) { secondi='0'+secondi; };
setTimeout(function() { startTime() },1000);
document.getElementById('txt').innerHTML = ora + ':' + minuti + ':' + secondi + ' ' + partegiorno;
}