WEBnSTUDY.com
JavaScript

Kreiranje datuma

Datum se kreira kao instanca objekta Date, korišćenjem operatora new. Postoji više načina a razlika među njima je samo u tome kako se zadaje vrednost koju će tako kreirani datum imati.

Ne zaboravite da je nebitno da li vrednost datumskog objekta nazivamo datum ili vreme, uvek se misli na ukupni podatak koji sadrži i datum i vreme do nivoa milisekunde.

Neki od češće korišćenih načina su sledeći:

new Date() Datumski objekat sadrži lokalno vreme koje je bilo na računaru u trenutku kreiranja objekta.
new Date(T) Datumskom objektu se zadaje datum u tekstualnom obliku T.
new Date(N) Datumskom objektu se zadaje datum u obliku broja milisekundi N od početnog datuma.
new Date(Y,M,D) Datumskom objektu se zadaju godina Y, mesec M i dan D. Samo su godina i mesec obavezni. Vreme dobija vrednost 00:00.
new Date(Y,M,D,H,I,S,N) Prošireni oblik prethodnog načina - moguće je zadati apsolutno precizan datum.

Najjednostavnije je zadati konstrukciju objekta bez argumenata.

var d = new Date();

Ovakav datumski objekat će imati vrednost onog vremenskog trenutka u kome je kreiran. Naravno, svakom datumskom objektu kasnije možemo menjati bilo koju komponentu vremena (godinu, mesec...).

Datum u numeričkom obliku

Pri konstrukciji je moguće zadati dva ili više numeričkih argumenata koji onda predstavljaju različite komponente datuma. Moguće je zadati najviše 7 parametara, s tim što su samo prva dva obavezna. Izostavljeni parametri se postavljaju na svoje minimalne vrednosti (dan na 1, sat, minut, sekunde i milisekunde na 0).

Numerički parametri predstavljaju datum po lokalnom vremenu (na računaru korisnika).

var d = new Date(Y,M); var d = new Date(Y,M,D); var d = new Date(Y,M,D,H); var d = new Date(Y,M,D,H,I); var d = new Date(Y,M,D,H,I,S); var d = new Date(Y,M,D,H,I,S,N);

Ako broj prevaziđe svoju logičku vrednost, datum se adekvatno preračunava. Tako bi 32. decembar u stvari bio 1. januar sledeće godine, a 24. sat bi bio ponoć sledećeg dana.

Ako se zada samo jedan broj, onda to nije godina, već broj milisekundi od početnog datuma.

var d = new Date(N);

Datum u tekstualnom obliku

Datum u tekstualnom obliku mora da se uklopi u sledeći šablon (pojednostavljeni ISO 8601 format). Ovaj format je malo lakši za "ručno" zadavanje.

YYYY-MM-DDTHH:mm:ss.sssZ YYYY-MM-DDTHH:mm:ss.sss+HHmm YYYY-MM-DDTHH:mm:ss.sss-HHmm

Razlika između šablona je samo u predstavljanju vremenske zone.

Drugi mogući tip tekstualnog šablona je IETF-compliant RFC 2822 timestamp. Ovaj format verovatno nećemo zadavati kao konstantu, ali dobro je znati da JavaScript datumski objekat ispisuje datum na taj način, pa se može koristiti za beleženje/razmenu datuma u tekstualnom obliku.

Primeri kreiranja datuma


	var d = new Date();  // trenutno vreme

	var dt = new Date("2015-01-05T15:30:00.000+0100");  // 5. januar 2015. u 15:30, CET
	var dn = new Date(2015, 0, 5, 15, 30);  // isti taj datum

	var d1 = new Date(2015, 0, 35);  // 4. februar 2015
	var d2 = new Date(2015, 0, 15, 24, 30);  // 16. januar 2015. 00:30 - pola sata posle ponoći
	
  1. T. Valentine, J. Reid (2013): JavaScript Programmer's Reference, Apress, New York
  2. A. Pehlivanian, D. Nguyen (2013): Jump Start JavaScript , SitePoint Pty. Ltd., Collingwood
Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies) radi vođenja interne statistike u cilju unapređenja korisničkog iskustva. Tako prikupljeni podaci su anonimni i nedostupni trećim licima. Vaša privatnost nije ugrožena ni na koji način.