WebReporter
n a s z e    s e r w i s y
@ WebReporter
@ Reporter
@ BizReporter
@ FotoReporter
@ Gry
@ Junior
@ Forum dyskusyjne
@ Og│oszenia
r e k l a m a
z o b a c z   t e ┐:
- darmowe e-maile
- darmowe strony WWW
- e-biznes
- kafejki internetowe
- kartki elektroniczne
- Encyklopedia Internetu
- Firmy internetowe


<<< poprzedni artyku│ spis tre╢ci nastΩpny artyku│ >>>
-= WARSZTAT =-
WebReporter nr 11 - 2000.11.15 Damian Szczepanik, www

Czas na JavaScript

W dzisiejszych rozwa┐aniach o jΩzyku JavaScript i jego zastosowaniach przedstawiΩ mo┐liwo╢µ pobierania daty i czasu systemowego. Efekt ko±cowy mo┐e wygl▒daµ przyk│adowo w taki spos≤b:

Czas: 
Data: 

Metoda pobierania warto╢ci daty systemowej sprowadza siΩ do dw≤ch etap≤w. Pierwszym jest podstawienie za zmienn▒ pe│nej informacji o aktualnej dacie i czasie systemowym. Odbywa siΩ to nastΩpuj▒co:

Teraz=new Date();

Format, w jakim zmienna Teraz zawiera informacje jest bardzo nieczytelny i zale┐ny od przegl▒darki. W twojej przegl▒darce wygl▒da on tak:

Jak widaµ nie jest to zadowalaj▒cy format. Zawiera on jednak wszystkie informacje o aktualnym czasie oraz dacie. Aby wyci▒gn▒µ konkretne warto╢ci ze zmiennej Teraz stosuje siΩ nastΩpuj▒ce metody:

getHours() - zwraca godzinΩ od 0 do 23,
getMinutes() - zwraca minutΩ od 0 do 69,
getSeconds() - zwraca sekundΩ od 0 do 69,
getDate() - zwraca dzie± miesi▒ca,
getMonth() - zwraca numer miesi▒ca, tyle, ┐e stycze± ma numer 0, grudzie± 11,
getYear() - zwraca rok. Explorer zwraca go jako liczbΩ czterocyfrowa, Navigator jako liczbΩ dwucyfrow▒, a teraz (od elektronicznego milenium) jako trzycyfrow▒.

Teraz nale┐y ju┐ tylko przypisaµ wszystkie warto╢ci do kolejnych zmiennych

Godzina=Teraz.getHours();
Minuta=Teraz.getMinutes();
Sekunda=Teraz.getSeconds();

Dzien=Teraz.getDate();
Miesiac=Teraz.getMonth()+1;
Rok=Teraz.getYear();

Pozostaje jeszcze dodaµ instrukcjΩ, kt≤ra bΩdzie modyfikowa│a r≤┐nicΩ w dacie w przegl▒darkach IE oraz NN:

if (document.layers) Rok+=1900;

Jednym z rozwi▒za± na pokazanie takiej daty jest umieszczenie danych w formularzu. Mo┐na tak┐e umie╢ciµ datΩ na pasku statusu lub - tylko dla IE - na pasku tytu│u. Najlepszym rozwi▒zaniem jest jednak wspomniany formularz, bo jest dostΩpny dla ka┐dej przegl▒darki i jest zawsze widoczny. Formularz, gdzie zostanie umieszczony zegar i datownik nazwijmy Zegar, kolejne elementy tego formularza Czas oraz Data. Formularz i jego elementy musz▒ siΩ nazywaµ, by nie by│o problemu z identyfikacj▒ p≤l formularza. Instrukcje odpowiedzialne za wstawianie odpowiednich warto╢ci do formularza bΩd▒ wygl▒da│y nastΩpuj▒co:

document.Zegar.Czas.value=Godzina+":"+Minuta+":"+Sekunda;
document.Zegar.Data.value=Dzien+"."+Miesiac+"."+Rok;

Ca│o╢µ pozostaje jeszcze umie╢ciµ w funkcji, by mo┐na by│o od╢wie┐aµ czas. Wszystkie powy┐sze instrukcje nale┐y umie╢ciµ w poni┐szej funkcji, jej ostatnia instrukcja spowoduje, ┐e zmienna Teraz bΩdzie pobiera│a aktulaln▒ datΩ co tysi▒c milisekund.

function Zegar() {

 //instrukcje czasu
 //instrukcje daty


setTimeout("Zegar()",1000);
}

Koniecznym dodatkiem tagu <BODY> jest umieszczenie w nim zdarzenia onLoad="Zegar()", by funkcja zaczΩ│a dzia│aµ. Potem sama bΩdzie siΩ ju┐ do siebie odwo│ywaµ.

Pozostaje jeszcze tylko umie╢ciµ gdzie╢ na stronie formularz, gdzie dane bΩd▒ wpisywane:

<FORM NAME="Zegar">
 <INPUT TYPE=Text NAME="Czas">
 <INPUT TYPE=Text NAME="Data">
</FORM>

Je┐eli masz jeszcze jakie╢ w▒tpliwo╢ci, jak to dzia│a, zajrzyj do ╝r≤d│a strony.

Do ko±ca XX wieku pozosta│o dni.

Autor prowadzi serwis po╢wiΩcony jΩzykowi JavaScript - zapraszamy.
+ JAVASCRIPT DLA KA»DEGO - www.republika.pl/dszczepanik/

[spis tre╢ci][do g≤ry]