A vedere la prima tabella, non è una cosa difficile da realizzare, devi ovviamente avere una tabella di partenza con i vari fusi orari.
Ecco qualcosa che posso abbozzare (puoi trovare una prova dello script su http://dementialsite.altervista.org/.../fusiorari.htm):
Codice HTML:
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
/*
city: la città di riferimento
tz: fuso orario di riferimento (numero da 0 a 24, Roma = 13, Greenwich = 12)
*/
function TimeZone (city, tz)
{
this.city = city
this.zone = tz
}
// crea i vari fusi orari di riferimento (non so se siano tutti esatti...)
var data = new Array (
new TimeZone ("Roma", 13),
new TimeZone ("Londra", 12),
new TimeZone ("Atene", 14),
new TimeZone ("New York", 6),
new TimeZone ("Tokyo", 21),
... // altri fusi orari
new TimeZone ("Los Angeles", 3)
)
// calcola data e fuso orario del sistema
var now = new Date ()
var this_tz = 12 - now.getTimezoneOffset () / 60
// giorni della settimana (per la scrittura)
var days = new Array ("domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato")
</SCRIPT>
</HEAD>
<BODY>
...
<SCRIPT LANGUAGE="JavaScript">
// scrive la tabella con i vari orari
document.write ('<TABLE>')
for (var i = 0; i < data.length; i++)
{
// inizio riga
document.write ('<TR>')
// scrive la città
document.write ('<TD>' + data[i].city + '</TD>')
// ricalcola la data per il fuso orario considerato
var tDate = new Date (now.getFullYear (), now.getMonth (), now.getDate (), now.getHours () + data[i].zone - this_tz, now.getMinutes (), now.getSeconds ())
// ... e la scrive in tabella
document.write ('<TD>' + days[tDate.getDay ()] + ' ' + tDate.getHours () + '.' + tDate.getMinutes () + '</TD>')
// fine riga
document.write ('</TR>')
}
// fine tabella
document.write ('</TABLE>')
</SCRIPT>
...
</BODY>
Questo a livello veramente di base, perché le difficoltà ci sono, eccotene un po':
- come si fa a sapere se uno stato ha in vigore l'ora legale (o "Daylight Savings Time" come lo chiamano gli americani?)
- questo script si basa sull'ora dell'orologio del sistema delle macchine che visitano la pagina, e non su un'orologio centralizzato (per quello serve PHP)
- fare una mappa con HTML e JavaScript (come nel secondo caso che hai linkato), poi, è veramente un'impresa...
Stammi bene...