<script language="JavaScript">
<!--Wed Dec 31 00:00:00 UTC+0100 1969 Thu Jan 1 00:00:00 UTC+0100 1970
function BDD(){return new Date(GiornoDiNascita)}
GiornoDiNascita = prompt("Questo Script restituisce la data e il giorno di nascita ad esempio Oct 17,1983\nRestituirà : Mon Oct 17 00:00:00 UTC+0200 1983 ","Oct 17,1983");
var d=BDD();
if (d.getDay()==1){document.write("<br>Lunedì");} if (d.getDay()==2){document.write("<br>Martedì");}
if (d.getDay()==3){document.write("<br>Mercoledì");} if (d.getDay()==4){document.write("<br>Giovedì");}
if (d.getDay()==5){document.write("<br>Venerdì");} if (d.getDay()==6){document.write("<br>Sabato");}
if (d.getDay()==0){document.write("<br>Domenica");}
document.write("<br><font size=2 color=red>"+BDD()+"</font>");
//Tutto lo Script é impostato su size=5 & color=blue e perciò il risultato del Giorno é in questo formato -->
</script>
Formati di imput nella finestra prompt :29 oct,2000 02:00:00 & Oct29 2000
& Oct 29 01:59:59 2000 & oct29,2000
(Blocchi separati da virgola o spazio)
Questo é l'ultimo secondo dell'ora legale estiva Domenica : Sun Oct 29 01:59:59 UTC+0200 2000
Ecco il primo secondo dell'ora legale autunnale Domenica  : Sun Oct 29 02:00:00 UTC+0100 2000



Date() Object
Date(); é un oggetto predefinito JavaScript (Si può provare a spiegarlo immaginandolo come un qualcosa che fà parte dello standard di progettazione, al quale tutti i maggiori fornitori di Software per Sistemi Operativi si attengono, per aiutarsi all'aquisizione del concetto occorre rammentarsi che il tempo che fornisce il Computer, tramite il sistema operativo in uso, non é un valore assoluto, ma é relativo al settaggio che abbiamo fatto noi, come faremmo con qualsiasi orologio.)

Commento : La variabile now crea e rende disponibile l'oggetto tempo attuale, nel momento in cui si richiama questo Script il Pc che lo richiama fornisce il numero di millisecondi che sono passati dal 1 Gennaio 1970 al momento in cui il dato viene richiesto e cioè al caricamento della pagina. La variabile fdmq (futura data millisecondi quantità) crea e rende disponibile l'oggetto di confronto nello stesso millisecondo. La differenza dei due valori darà come risultato la quantità di millisecondi che mancano a Capodanno, dividendo per 1000 si ottengono i secondi e poi per 60 si ottengono i minuti e poi ancora per 60 si ottengono le ore, che divise per 24 danno i giorni (60x60x24=86400), la stringa successiva Math.round(days); arrotonda il risultato alla parte intera. I passi successivi dell'interprete si dovrebbero adesso capire facilmente.
<script language="JavaScript">
<!--
now=new Date();
fdmq=new Date("Jan 01 2001 00:00:00");
days=(fdmq-now)/1000/86400;   days=Math.round(days);
document.write("Days untill the year 2001 : " +days);
hrs=(fdmq-now)/1000/3600; hrs=Math.round(hrs);
document.write("<br>"+"hrs : "+hrs)
minutes=(fdmq-now)/1000/60; minutes=Math.round(minutes);
document.write("<br>"+"minutes :"+minutes);
seconds=(fdmq-now)/1000; seconds=Math.round(seconds);
document.write("<br>"+"seconds : " +seconds);
//-->
</script>


Codice tabella seguente : 1 tabella due righe
Prima riga 1 cella colspan=2, dentro la cella 1 tabella allineata al centro.
Seconda riga della tabella madre due semplici celle.
<script language=javascript>
<!--
PageTimeOnLoad=new Date();
document.write(PageTimeOnLoad);
//-->
</script>
<script language=javascript>
<!--
BirthdayMemo=new Date("May 06,1948,23:59:59");
document.write(BirthdayMemo);
//-->
</script>
<script language=javascript>
<!--
FutureDate=new Date("May 6,2001,00: 56: 45")
document.write(FutureDate);
//-->
</script>






Creazione di una proprietà dell'Oggetto Date
(con la parola chiave prototype)
<script language=javascript>
<!--
oggi=new Date();
for(property in oggi){document.writeln(property+"<br>");}
document.write(oggi.descrizione+"<br>");
Date.prototype.descrizione=null;
for(property in oggi){document.writeln(property+"<br>");}
document.write(oggi.descrizione+"<br>");
oggi.descrizione="Oggi studio l'Oggetto Date di JavaScript";
for(property in oggi){document.writeln(property+"<br>");}
document.write(oggi.descrizione+"<br>");
document.write(oggi+"<br>");
//-->
</script>

Commento
Il primo Loop non scrive nulla poiché le proprietà di quest'oggetto pur essendo presenti, sono richiamabili solo attraverso i vari metodi, se ne possono creare però delle nuove con la parola chiave : prototype
document.write()conferma infatti che non ci sono proprietà definite, al rigo successivo dello Script é creata e dichiarata una proprietà e quindi il Loop for...in la rileva : descrizione etc, etc...
(Seguire lo Script confrontando i colori dei risultati)
<script language=javascript>
<!--È anche possibile Creare Dichiarare ed Assegnare in una sola riga di codice descrizione come nuova proprietà.
OGGI=new Date();
OGGI.descrizione="Oggi studio l'Oggetto Date di JavaScript";
for(property in OGGI){document.writeln(property+"<br>");}
document.write(OGGI.descrizione+"<br>");
document.write(OGGI+"<br>");
//-->
</script>







     



 







L'oggetto Date() può anche essere richiamato come funzione, senza l'operatore new. Lo Standard ECMA-262 specifica che, quando viene richiamato come funzione, deve comportarsi esattamente come si comporta in qualità di Costruttore. In Navigator 3 e 4, tuttavia, la chiamata di Date() come funzione restituisce una rappresentazione Stringa della data specificata, invece di un Oggetto Date effettivo.

 
<script language="JavaScript">
<!--
//Questo non serve: var d=new Date();
document.write(Date());
</script>

<script language="JavaScript">
<!--
var d=new Date();
document.write(d);
//-->
</script>





              Your local time is :
<script language="JavaScript">
<!-- 1234
/*Non si dimentichi <body onload="Vittorio();">
e la creazione di :<form name="frametimems">
se si Copia & Incolla questo Script*/

function Vittorio() {var x=new Date();
h=x.getHours();
m=x.getMinutes();
s=x.getSeconds();
if(s<=9) s="0"+s;
if(m<=9) m="0"+m;
if(h<=9) h="0"+h;
time=h+":"+m+":"+s;
document.frametime.texttime.value=time;
setTimeout("Vittorio()",1000);}
document.write(Date());
//     1234  
-->
/*Non ho dichiarato guerra ai cinesi ma l'esempio
qui sopra rende più espliciti i commenti.
Il settaggio effettivo di setTimeout() é :
setTimeout("Vittorio()",250);
*/
</script>
Commento :
L'evento OnLoad() attiva La funzione Vittorio() quando la pagina viene caricata.
Questo richiama l'oggetto predefinito Date() : var x=new Date(); (Date() restituisce il numero di Millisecondi che sono trascorsi dal 1 Gennaio 1970, una volta sola al caricamento della pagina nel Browser, successivamente é il metodo setTimeout() ad occuparsi dell'aggiornamento di Date() i.e. non é tutta la pagina che viene aggiornata, ma la sola funzione Vittorio() nello Script Local Time)
L'Espressione Condizionale serve a riportare un formato Clock(00).
Il pattern : document.frametime.texttime.value assegna il valore alla variabile time.
Il metodo setTimeout("Vittorio()",1000;)Dice all'interprete di aggiornare la funzione Vittorio() ogni 1000 millisecondi i.e. ogni secondo, il che coincide con il sistema cronologico in uso, ovvero impostando la funzione su e.g. 3000 si avrebbero degli scatti nel display dell'orologio della durata di 3 secondi ( L'effetto non sarebbe più quello di un normale orologio che ci indica il passare di ogni secondo ), se invece impostassimo il metodo setTimeout("Vittorio()",Valore<1000;) ad esempio 100, l'Interprete sarebbe costretto ad aggiornare la funzione 10 volte al secondo, noi non lo vedremmo, come anche non vedremmo alcunché se fosse per 2 volte al secondo, questo perché lo Script passa i secondi e non le frazioni,( Se avessimo impostato un cronometro nello Script allora avremmo potuto constatarne l'andamento per frequenze maggiori, ma con questo Script é inutile settare frequenze maggiori per non affaticare il povero Interprete. )
Note per la resa CrossBrowser : Navigator 4.5 non visualizza l'esempio come IE per quanto riguarda il Terzo e Quarto quarto nonostante lo Script li fornisca correttamente, per poterli visionare il campo testo deve essere impostato su size=34.







 


Ma quando il tempo passa, dove va ?
Home Page