Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: L'ora esatta

  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854

    L'ora esatta

    Siccome avevo una mezz'ora buca ho scritto una funzioncina che scrive l'ora esatta(quella del server per intenderci) in una box
    Non l'avevo mai vista da nessuna parte ma probabilmente esisteva già, cmq spero possa servire a qualcuno


    ps: linguaggi asp,javascript
    codice:
    <html>
    <head>
    <title>L'ora esatta</title>
    <script language="JavaScript">
    function ora (ore,minuti,secondi) {
    		secondi=parseInt(secondi)+1;
    		if(secondi == 60) { 
    		minuti=parseInt(minuti)+1;
    		secondi = 1;
    		if(parseInt(minuti) == 60) { 
    		ore=parseInt(ore)+1;
    		minuti = 1;
    		}
    		if(parseInt(ore) == 24) { 
    		ore = 1;
    		}
    
    		}
    		timeValue = parseInt(ore) + ":" + parseInt(minuti) + ":" + secondi;
            document.orologio.orario.value = timeValue;
            setTimeout("ora('" + ore + "','" + minuti + "','" + secondi + "')",1000);
            }
    </script>
    </head>
    <body onLoad="ora('<%=hour(time())%>','<%=minute(time())%>','<%=second(time())%>')">
    <form name="orologio">
    <input type="text" name="orario" />
    </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Bene io sono interessato all'ora esatta. Però (non offenderti però) credo che abbia preso forse la strada sbagliata. Infatti credo che l'ora esatta sia, non quella del server, ma quella di un orologio atomico . Non scherzo Allora, in asp farei una classe che esponga una proprità pubblica data di tipo DateTime. La data e l'ora la prenderei leggendo la pagina: http://www.ien.it/stittime_i.shtml che fornisce per l'appunto l'ora esatta (esatta per modo di dire, senza tenere conto dei tempi di trasferimento cioè). Capisci che, estraendo la data fornita, è facile nel server estrarre la data e l'ora e presentarla al client.
    Io ho fatto in modo di richiamare la pagina ogni secondo. Ma questo è stupido. Conviene fare in modo che sia il client ad aggiornare l'orologio ogni secondo, e magari risincronizzare tutto (cioè rispendento la pagina al server) ogni 3 minuti, per esempio.

    Ciao
    Pietro

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    si potrebbe anche fare ed ottenere l'ora esatta, ma per fare ciò cosa hai usato? xml.http e regular expressions?

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    intanto l'ho migliorata un pochino
    codice:
    <html>
    <head>
    <title>L'ora esatta</title>
    <script language="JavaScript">
    function ora (ore,minuti,secondi) {
    		secondi=Number(secondi)+1;
    		if(secondi == 60) { 
    		minuti=Number(minuti)+1;
    		secondi = 1;
    		if(Number(minuti) == 60) { 
    		ore=Number(ore)+1;
    		minuti = 1;
    		}
    		if(Number(ore) == 24) { 
    		ore = 1;
    		}
    		}
    		if(String(secondi)<10) { secondi = "0" + secondi;}
    		if(String(minuti)<10) { minuti = "0" + minuti;}
    		if(String(ore)<10) { ore = "0" + ore;}
    		
    		timeValue = ore + ":" + minuti + ":" + secondi;
            document.orologio.orario.value = timeValue;
            setTimeout("ora('" + ore + "','" + minuti + "','" + secondi + "')",1000);
            }
    </script>
    </head>
    <body onLoad="ora('<%=hour(time())%>','<%=minute(time())%>','<%=second(time())%>')">
    <form name="orologio">
    <input type="text" name="orario" />
    </form>
    </body>
    </html>

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188

    per chi dovesse usare questo script

    ATTENZIONE:
    Questo script funziona solo se la pagina in cui e` incluso e` generata da ASP.
    Quindi nasce con questa grossa limitazione.

    Ma a quel punto basta scrivere l'ora del server senza bisogno di script lato client. Avrebbe senso se "correggesse" l'orologio del client secondo l'ora del server, e script in tal senso ne sono passati da queste pagine (era molto tempo fa: forse non sono piu` in linea).

    E comunque non e` detto che l'ora del server sia piu` "esatta" di quella del client. Se qualcuno vede la pagina dall'Inghilterra, o da qualsiasi altro posto fuori dal fuso orario del server, trovera` l'orologio sbagliato.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    vabe basta settare il corretto lcid
    cmq lo scopo era proprio quello di avere un orologio regolato tramite l'ora che si suppone esatta del server ( e se settata correttamente lo è di sicuro)


  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    118
    L'ora dei server è esatta quanto la sveglia di mia nonna.
    Se vuoi l'ora esatta l'unico modo è utilizzare dei componenti com (lato server) che la verifichino in tempo reale.

    Puoi aprire questo http://www.ien.it/stittime.shtml in un iframe e grabbare l'ora esatta con un javascript

  8. #8
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    Deve avere una bella sveglia tua nonna
    grabbarla con javascript non credo proprio al massimo lato server come ho detto precedentemente

  9. #9
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854

    Re: per chi dovesse usare questo script

    Ma a quel punto basta scrivere l'ora del server senza bisogno di script lato client.
    Non mi pare proprio il caso :master:

  10. #10
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    se si lavora solo lato server l'ora non si aggiorna... lo script di rixx la "rinfresca" ogni secondo
    io però consiglierei di sfruttare l'oggetto Date di javascript
    codice:
    <html>
    <head>
    <title>L'ora esatta</title>
    <script language="JavaScript">
    function ora (ore,minuti,secondi) {
      var xdata=new Date(2000,0,1,ore,minuti,secondi)
      xdata.setSeconds(xdata.getSeconds()+1)
      var timeValue = xdata.getHours() + ":" + xdata.getMinutes() + ":" + xdata.getSeconds();
      document.orologio.orario.value = timeValue;
      setTimeout("ora(" + xdata.getHours() + "," + xdata.getMinutes() + "," + xdata.getSeconds() + ")",1000);
    }
    </script>
    </head>
    <body onLoad="ora(<%=hour(time())%>,<%=minute(time())%>,<%=second(time())%>)">
    <form name="orologio">
    <input type="text" name="orario" />
    </form>
    </body>
    </html>
    l'ora del server si può sincronizzare con software NTP (Network Time Protocol), ne esistono diversi e gratuiti.
    Anche WinXP include un client NTP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.