Objekt Date

Datum a Φas je v Javascriptu reprezentovßn objektem Date.

Vytvo°enφ aktußlnφho data

Ne╛ se s datem zaΦne pracovat, musφ se vytvo°it a p°i°adit prom∞nnΘ. D∞lß se to p°φkazem new:

<script>
promenna = new Date(); // vytvo°φ prom∞nnou obsahujφcφ aktußlnφ datum
mesic = promenna.getMonth() + 1;//leden je 0
denVMesici = promenna.getDate();
document.write("Dnes je " + denVMesici + ". " + mesic + ".");
</script>

Pokud se new Date() zavolß bez parametr∙, ukazuje aktußlnφ datum a Φas nastaven² na klientovi (tak╛e nemusφ b²t p°esn²). Takhle vypadß v²stup skriptu p°φkladu:

M∙╛e vßs zajφmat slo╛it∞j╣φ p°φklad vypisujφcφ celΘ datum.

Zji╣t∞nφ Φßstφ data

Datum je v prom∞nnΘ ulo╛eno jako poΦet milisekund od 1.1. 1970, navenek se ale chovß jako °et∞zec. Z toho um∞jφ metody objektu Date zji╣╗ovat r∙znΘ v∞ci. Jsou to metody zaΦφtajφcφ get*.

metoda nßvratovß hodnota poznßmka
getYear() rok ve dvacßtΘm stoletφ vracel dv∞ Φφslice
getFullYear() rok totΘ╛ jako getYear, ale v╛dy 4 Φφslice
getMonth() m∞sφc leden je nula, tak╛e to chce p°iΦφtat 1
getDate() Φφslo dne v m∞sφci 1 je prvnφho (p°ekvapiv∞)
getDay() Φφslo dne v t²dnu ned∞le je nula
getHours() poΦet hodin od p∙lnoci 0 je p∙lnoc a hodina po nφ
getMinutes() poΦet minut od zaΦßtku hodiny 0 je prvnφ minuta, 59 poslednφ
getSeconds() poΦet sekund od zaΦßtku minuty  
getMilliseconds() poΦet milisekund od zaΦßtku sekundy  
getTime() poΦet milisekund od 1. 1. 1970  

TextovΘ metody

Datum m∙╛e b²t zobrazeno jako °et∞zec metodami toString() a toGMTString(). Ob∞ vracejφ datum jako textov² °et∞zec. Metoda toString() ve formßtu UTC, toGMTString() ve formßtu GMT.

Zm∞na data

Datum se m∞nφ n∞kolika metodami, kterΘ zaΦφnajφ set* (odpovφdajφ metodßm get*). Nap°. skript

promenna = newDate()
promenna.setFullYear(2001)

zm∞nφ v prom∞nnΘ datum na aktußlnφ den a Φas, ale v roce 2001.

metoda m∞n∞nß hodnota poznßmka
setYear() rok doporuΦuji nepou╛φvat
setFullYear() rok  
setMonth() m∞sφc leden je nula, tak╛e to chce odΦφtat 1
setDate() Φφslo dne v m∞sφci  
setDay() Φφslo dne v t²dnu ned∞le je nula
setHours() poΦet hodin od p∙lnoci 0 je p∙lnoc a hodina po nφ
setMinutes() poΦet minut od zaΦßtku hodiny 0 je prvnφ minuta, 59 poslednφ
setSeconds() poΦet sekund od zaΦßtku minuty  
setMilliseconds() poΦet milisekund od zaΦßtku sekundy  
setTime() poΦet milisekund od 1. 1. 1970 nejpou╛φvan∞j╣φ metoda

Univerzßlnφ je setTime()

Pohodln² zp∙sob prßce s datem poskytuje metoda setTime. VystaΦφte si s nφ. P°φklad:

<script>
promenna=new Date();
promenna.setTime(promenna.getTime() + 2 *24*60*60*1000)
mesic = promenna.getMonth() + 1;//leden je 0
denVMesici = promenna.getDate();
document.write("Pozφt°φ bude " + denVMesici + ". " + mesic + ".");
</script>

Prost∞ k aktußlnφmu Φasu se p°iΦtou milisekundy, v tomto p°φpad∞ dva dny. To pak metoda setTime() nastavφ jako Φas. Takhle to vypadß:

Jin² p°φklad -- ulo╛enφ cookie se jmΘnem karkulka, kterß za t²den (7 dnφ) vypr╣φ:

<script>
datum = new Date(); // aktußlnφ Φas
datum.setTime(datum.getTime() + 7 *24*60*60*1000) ;//za t²den
document.cookie = "karkulka=chcipla;expires="+ datum.toGMTString();
</script>

o tvorb∞, ·dr╛b∞ a zlep╣ovßnφ internetov²ch strßnek

Nßvody HTML CSS JavaScript
Pφ╣e Yuh∙, dusan@pc-slany.cz

Hledßnφ:

Javascript na www.jakpsatweb.cz

Pφ╣e Yuh∙: http://dusan.pc-slany.cz, mail: dusan@pc-slany.cz

Poslednφ aktualizace 10.12.2003