PHP vs JavaScript - funkcja Date
Rolą tego artykułu nie jest próba udowodnienia
wyższości języka JavaScript nad PHP czy odwrotnie.
Tekst ten kieruję do osób, które ze zrozumiałych im przyczyn
nie mają dostępu do PHP, a chciałyby urozmaicić swoją stronę
motywem daty itp. znanym z PHP
jako gmdate().
Tym właśnie osobom chciałbym przybliżyć język JavaScript,
którym możemy uzyskać podobny efekt jak w przypadku PHP czy
innych języków skryptowych.
Chcąc otrzymać prostą, schludną datę w PHP posłużymy się najprostszym
skryptem:
<?php
echo gmdate(d m y);
?>
Efektem tego będzie np. 22 03 2002 (zależy od dnia).
Wiemy również, że w PHP można zastosować cały szereg różnych
poleceń począwszy od wyświetlania "am" lub "pm" przy godzinie,
kończywszy na podawaniu przesunięcia strefy czasowej w sekundach.
Chcąc uzyskać podobne efekty w JavaScript będziemy musieli
napracować się trochę dłużej (ale tylko trochę).
Zacznijmy od funkcji, której będziemy używać czyli: new
Date(). Funkcja ta zwraca nam datę, godzinę itp, ale w
sposób mało czytelny np. Sat Mar 2 16:47:28 UTC+0100 2002.
Dlatego chcąc uzyskać datę w postaci 22.03.2002 musimy napisać
prosty skrypt:
<script language="javascript">
var data=new Date()
var dzien=data.getDate()
var miesiac=data.getMonth()
var rok=data.getYear()
document.write(dzien + "-" + miesiac + "-" + rok);
</script>
W efekcie mamy datę w postaci 22-11-2002, ale w przypadku
pierwszych dni miesiąca, oraz pierwszych miesięcy nie uzyskamy
wyniku 01-02-2002 a 1-2-2002 chyba, że użyjemy tablic, ale
o tym za chwilę.
Przypuśćmy, że chcemy napisać skrypt wyświetlający dzień tygodnia
jako nazwę oraz miesiąc i rok, będziemy musieli użyć wcześniej
wspomnianych tablic.
<script language="javascript">
var data=new Date()
var dzien=data.getDay()
var dzienmiesiaca=data.getDate()
var miesiac=data.getMonth()
var rok=data.getYear()
var dzientygodnia=new Array("Niedziela","Poniedziałek", "Wtorek",
"Środa", "Czwartek", "Piątek", "Sobota")
var nazwamiesiaca=new Array("Styczen", "Luty", "Marzec", "Kwiecień",
"Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik",
"Listopad", "Grudzień")
document.write(dzientygodnia[dzien]+"-"+dzienmiesiaca+"-"+nazwamiesiaca[miesiac]+"-"+rok)
</script>
Na koniec możemy cały skrypt podpiąć do pliku np. "data.js"
i wstawić na stronę dwoma linijkami:
<script src="data.js">
</script>
Tym miłym akcentem ;-) kończę ten artykuł, a dla bardziej
ambitnych polecam poniższą tabelę.
----------------------------------------------------------------------------------------------------------------------
Metoda<< td>
| Zakres wartości... |
Opis |
ObiektDate.getTime() |
0-... |
Liczba sekund od dnia 01-01-1970 od godziny 00:00:00
czasu Greenwitch |
ObiektDate.getYear() |
70-... |
Bieżący rok |
ObiektDate.getMonth() |
0-11 |
Bieżący miesiąć 0-styczeń |
ObiektDate.getDate() |
1-31 |
Bieżący dzień miesiąca |
ObiektDate.getDay() |
0-6 |
Bieżący dzień tygodnia 0-niedziela |
ObiektDate.getHours() |
0-23 |
Bieżąca godzina dnia |
ObiektDate.getMinutes() |
0-59 |
Bieżąca minuta |
ObiektDate.getSeconds() |
0-59 |
Bieżąca sekunda |