Visualizzazione risultati 1 fino 4 di 4

Discussione: Fusi Orari

  1. #1
    Guest

    Predefinito Fusi Orari

    Vorrei realizzare una tabella dei fusi orari come questa http://www.timeanddate.com/worldclock/full.html dove accanto alla città in tempo reale c'è la data e l'orario del luogo.

    E' possibile realizzarlo in html?

    Ho provato a guardare il codice html di queste tabelle ma manca forse un file che fa aggiornare i valori

    Oppure ancora piu bello sarebbe la cartina come questa http://www.worldtimezone.com/index24.html ma anche qui solito discorso, deve esserci una sistema esterno che fa aggiornare i valori.

    Nessuno sa darmi indicazioni?

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    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&igrave;", "marted&igrave;", "mercoled&igrave;", "gioved&igrave;", "venerd&igrave;", "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...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Grazie del codice,
    effettivamente il discorso dell'ora solare e legale che non viene usata in tutto il mondo è una cosa che non saprei nemmeno io come gestirle

    E con un codice php si puo fare di meglio? con il discorso dell'orario non del computer ma assoluto?

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Con il codice PHP puoi fare di meglio semplicemente perché prenderesti l'orario del server (che si suppone essere corretto) e non quello delle singole macchine che fanno eseguire il tuo JavaScript (per esempio, se io regolassi il MIO orologio di Windows al 31 ottobre 2000 alle ore 17.54, tutti gli script che si basano sull'oggetto Date - come questo, ma anche il più banale visualizzatore di data e ora - si baserebbero su questo orario).

    Per quanto riguarda l'ora legale, il modo più semplice potrebbe essere quello di aggiungere alla tabella (realizzata con l'oggetto TimeZone di prima) anche le informazioni relative al periodo di ora legale, facendo più o meno qualcosa del genere (questo è JavaScript):
    Codice:
    function TimeZone (city, tz, startDST, endDST)
    {
       this.city = city
       this.zone = tz
       this.startDST = startDST
       this.endDST = endDST
    }
    e fino a qui va bene... ma poi come costruisci l'oggetto, visto che i giorni di inizio e fine periodo cambiano ogni anno (in Italia dall'ultima domenica di marzo all'ultima di ottobre, negli altri paesi poi...).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •