Praeitą kartą Vartiklyje pažvelgėme į dažniausiai naudojamą
'JavaScript' objektą, - eilutes. Tačiau iš 'Java' pasiskolintas ir
"Date" objektas, kurį galima naudoti veiksnaus laiko ir datos nustatymui.
Šiame 'Vartiklio' WWW puslapyje jis naudojamas laikrodžio realizacijai ir
nurodymui, kiek jau minučių praėjo nuo prisijungimo prie paskutinio 'Vartiklio'
numerio.
'Javascript' traktuoja "Date" objektą kaip konstruktorių, - pradžioje
reikia sukurti naują "Date" objektą, o po to taikyti įvairius "Date"
metodus, kad gautume ar priskirtume įvairias reikšmes (ir "Date"
objektas neturi charakteristikų - 'properties'). Dažniausiai naudojami
metodai prasideda "get" ("gauti"):
Tačiau galima nurodyti ir konkrečią laiko reikšmę:
"Date" metodas taikomas prieš tai sukurtam objektui, pvz.,
Nukrypimai ir pavojai
Nors "Date" objektas ir labai viliojantis naudojimui, jo realizacijoje yra
keletas klaidų, o kai kurios iš jų nuostabiai padeda "nusmigti"
"Netscape Navigator" peržiūros programai.
Pvz., "Macintosh" 2.0 versijoje "Date" laikrodis skuba viena diena, todėl
šį skirtumą galima kompensuoti taip:
Tačiau tokį "prijomą" (gudrybę) reikia nukrreipti tik "Mac" skaitytojams
Terpės ir peržiūros programos versijai nustatyti galima naudoti
"navigator.userAgent" charakteristiką, tačiau paprasčiau pasinaudoti
tokia "apgaule":
Problemos su 2000-aisiais
"Netscape" nepatinka ir kito šimtmečio datos. Tačiau šį laikotarpį
galima "apžioti", jei naudojamos tik skaitinės datos reikšmės, o ne
eilutės, pvz.,
Tiesiog - Java
getHours() - gauti veiksnios valandos reikšmę;
getMinutes() - gauti veiksnios minutės reikšmę;
getSeconds() - gauti veiksnios sekundės reikšmę;
getYear() - gauti veiksnių metų reikšmę ("96" reiškia "1996");
getMonth() - gauti veiksnaus mėnesio reikšmę ("0" reiškia "Sausis");
getDate() - gauti veiksnios mėnesio dienos reikšmę;
getDay() - gauti veiksnios savaitės dienos reikšmę ("0" reiškia "Sekmadienis");
Naują "Date" objektą galima sukurti keliais būdais. Veiksnaus laiko
reikšmę saugantį objektą sukuriame nenurodę jokių parametrų:var Dabar = new Date();
var NaujiMetai = new Date("January 1 1997 00:00:00");
var NaujiMetai = new Date(97, 0, 1, 12, 0, 0);var Dabar = new Date();
var Metai = Dabar.getYear();Dabar.setDate(Dabar.getDate()-1);
var ArMacData = new Date (0); // Priskirti Jam 1, 1970
if (ArMacData == 86400000)
Dabar.setDate(Dabar.getDate()-1);
Datos iki 1970-ųjų gali "nusmigdinti" "Netscape". Aišku, geriausia išeitis
yra nenaudoti šio laikotarpio datų. Tačiau, jeigu leidžiama pačiam
skaitytojui įvesti datas, reikia tikrinti, ar jis neįvedė "draudžiamų"
reikšmių.
var NA1 = new Date ("January 1, 2000"); // Sminga
var NA1 = new Date ("100,0,1"); // Viskas veikia puikiai
Programavimo kalbų istorija
Java 8: Optional prieš null
Lambda išraiškos Java į naują lygį
Anotacijos Java kalboje
Unix komandinės eilutė
Tcl kalba