|
|
[Date-object][Array-object][Wartości losowe]
Przedefiniowane
obiekty
JavaScript pozwala używać gotowych zdefiniowanych obiektów.
Jednymi z nich są date-object, array-object czy math-object. Są jeszcze inne, które
można zobaczyć w dokumentacji JavaScript na stronie Netscepa.
Date-object
Date-object pozwala nam na wyświetlanie daty i czasu na naszych
stronach jak i dowolne manipulowanie nimi.
Na początek zaczniemy od wyświetlenia aktualnej daty. Do tego celu musimy stworzyć
date-object.
dzisiaj = new Date()
Zmiennej dzisiaj przyporządkowaliśmy date-object. Obiekt ten ma kilka dodatkowych metod.
Są to:
- getHours()
- setHours()
- getMinutes()
- setMinutes()
- getMonth()
- setMonth()
- i inne
Pomiędzy nawiasami objektu date(), możemy wpisać dowolnie przez nas
wybraną datę.
dzisiaj = new Date(1999,0,31,13,28,55)
Oznacza to:
Date(rok, miesiąc, dzień, godzina , minuta, sekunda)
Uwaga!
JavaScript uważa Styczeń jako 0, Luty jako 1, marzec jako 2, itd...
Teraz napiszemy skrypt wyświetlający datę, tak jak poniżej:
<script language="JavaScript">
teraz = new Date();
document.write("Czas: " + teraz.getHours() + ":" + teraz.getMinutes()
+ "<br>");
document.write("Data: " + (teraz.getMonth() + 1) + "/" +
teraz.getDate() + "/" + (1900 + teraz.getYear()));
</script>
Aby pozbyć się problemu roku 2000, dodaliśmy 1900 do metody teraz.getYear().
To był prosty przykład. Teraz zrobimy zegar w okienku formularza:
<script Language="JavaScript">
var czasStr, dataStr;
function zegar()
{
teraz = new Date();
// czas
godzina = teraz.getHours();
minuta = teraz.getMinutes();
sekunda = teraz.getSeconds();
czasStr = "" + godzina;
if (minuta < 10)
{
czasStr+= ":0" + minuta;
}
else
czasStr+= ":" + minuta;
if (sekunda < 10)
{
czasStr+= ":0" + sekunda;
}
else
czasStr+= ":" + sekunda;
document.zegar.czas.value = czasStr;
// data
data = teraz.getDate();
miesiac = teraz.getMonth()+1;
rok = 1900 + teraz.getYear();
dataStr= "" + miesiac;
if (data < 10)
{
dataStr+= "/0" + data;
}
else
dataStr+= "/" + data;
dataStr+= "/" + rok;
document.zegar.data.value = dataStr;
Timer= setTimeout("zegar()",1000);
}
</script>
<body onLoad="zegar()">
<form name="zegar">
Czas:
<input type="text" name="czas" size="8"
value=""><br>
Data:
<input type="text" name="data" size="8"
value="">
</form>
Skrypt wygląda trochę skomplikowanie, ale to ze wzglądu na rozwiązanie problemu
wyświetlania sekund i minut mniejszych od 10. O tuż, JavaScript wyświetlił by je jako
2 lub 3 itd..., my chcemy, aby wyświetlił je następująco 02, 03 , 04. Do tego celu
użyliśmy poniższego kodu.
if (minuta < 10)
{
czasStr+= ":0" + minuta;
}
else
czasStr+= ":" + minuta;
Kod ten zawiera także dwukropek ":" który ma rozgraniczać godziny od minut, a
minuty od sekund. Podobnie zrobiliśmy dla daty, lecz zamiast dwukropka użyliśmy
ukośnika "/".
Dzięki metodzie setTimeOut(), ustawiliśmy częstotliwość dokonywanych
zmian w okienku formularza (1s = 1000 milisekund).
Projektowanie stron internetowych Copyright(c) 1998 by Robert Fontański | |