e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

Kreiranje predmeta Date

Stavek, ki poziva JavaScript, da naredi za uporabnike skriptni predmet uporablja posebno ključno besedo za konstruiranje le-teh - new. Osnovna sintaksa za generiranje nekega novega datumskega predmeta je naslednja:

var datumski_predmet = new Date([parameteri])

Datumski predmet daje datumski predmet, ne pa nek niz ali številčno vrednost. Z napotki datumskemu predmetu varno določimo ime spremenljivke, s katerimi dostopamo do vseh datumsko orientiranih postopkov s piko - sintaksa je naslednja:

var danes = datumskiPredmet.postopek()

S spremenljivkami kot v zgornjem primeru danes, lahko skripti izvajajo preračune ali prikazujejo podatke datumskega predmeta (nekateri postopki izberejo le koščke datumskih in časovnih podatkov iz predmeta). Če se želi v datumski predmet vstaviti kakšno novo spremenljivko (kot dodajanje leta k datumskem predmetu), je potrebno novo vrednost dodeliti k predmetu s pomočjo postopka, ki dopuŠča nastavljanje vrednosti:

datumskiPredmet.postopek(novaVrednost)

Ta primer ne izgleda kot tipičen primer prireditvenega stavka JavaScript, ki ima znak enakosti (=) za operator. Toda ta ukaz je pot po kateri postopek menja vrednost datumskemu predmetu.

Brez poglobitve v aritmetiko časovnih pasov, se ne bo prodrlo ravno daleč pri programiranju. Za uporabnike po celem svetu je potrebno čas hraniti v UTC, izpisati pa po lokalnem času.

Tudi, če se ne ve dosti o podrobnostih, o predmetih in o postopkih datuma, je tukaj primer kako uporabiti dve izmed njih in dodati eno leto k današnjem datumu:

var danes = new Date()              // ustvari predmet v trenutnem času
leto=danes.getFullYear()            // iz datuma se izlušči leto
leto++	                           // vrednost leta poveča za ena
noviDatum.setYear(leto)             // nova leta vrednost je v  predmetu

Na koncu tega poteka je predmet noviDatum samodejno uredil vse ostale datumske komponente za datum naslednjega leta. Dan v tednu, bo na primer drugačen, in JavaScript ga preračuna. Mogoče si je izpisati ta podatek. Podatke naslednjega leta v predmetu noviDatum, je sedaj mogoče uporabiti za izpis datumov kot niz vrednosti za prikazovanje v nekem polju na spletni strani ali pa jih poslati nekemu programu CGI na spletnem strežniku.

Če se pusti parametre v datumskem predmetu prazne, JavaScript vzame to kot danaŠnji datum in trenutni čas, da ga dodeli novemu datumskemu predmetu. JavaScript ni nič kaj bolj pameten kot sistemska ura na računalniku vaŠega obiskovalca spletne strani. Če ura ni pravilna, JavaScript ne bo dobro opravil svojega dela pri identifikaciji časa in datuma.

Da se ustvari datumski predmet za specifičen datum ali čas, je na voljo pet poti podajanja parametrov h konstruktorju new Date():

new Date("Month dd, yyyy hh:mm:ss")
new Date("Month dd, yyyy")
new Date(yy,mm,dd,hh,mm,ss)
new Date(yy,mm,dd)

new Date(milliseconds)

Teh pet načinov se lahko razdeli na dva sloga: dolgi znakovni niz in z vejicami omejeni spisek podatkov. Vsak ima svoje časove nastavitve. Če se izpusti časovne nastavitve, se bodo postavile na 0 (polnoč) v datumskem predmetu ne glede na vpisan datum. Ne sme pa se izpustiti datumski vrednosti iz parametrov - vsak datumski predmet mora imeti realni datum, četudi je to potrebno ali ne.

V različici z dolgim nizom, je mesec napisan v celoti v angleščini. Nikakršne okrajšave niso dovoljene. Ostali podatki so vsi zapolnjeni s številkami, ki predstavljajo datum, leto, ure, minute in sekunde, razen če ima vaša lokalna identifikacijska pot drugačen ukaz za to. Za vrednosti, ki imajo samo eno cifro, lahko namesto njih uporabljate tudi cifre z dvema mestoma (kot 5:09:00). Dvopičja med seboj ločujejo ure, minute, in sekunde. Kratka različica tega pa vsebuje le neprekinjen seznam številčnih vrednosti po ukazanem vrstnem redu. JavaScript ne more vedeti, da 30 pomeni datum, če se te vrednosti ne napišemo točno na določeno mesto za mesec.

Zadnjo različico se uporablja le, če je na razpolago v milisekundah vrednosti datuma in časa. To se praviloma zgodi po nekaterih matematičnih ali aritmetičnih operacijah, ki vrnejo datum in čas v obliki milisekund.

SERŠ Maribor : Strokovna gimnazija : 2004 : Neven Šrok