Načrtovanje in razvoj spletnih aplikacij

Razred Date

Objekt razreda Date vsebuje celo število, ki opisuje čas na tisočinko sekunde natančno. Objekt razreda Date omogoča delo z datumi (leto, mesec, dan, ura, minuta, sekunda, milisekunda).

Število, ki ga hrani objekt razreda Date je število milisekund, ki so minila od 1. januarja 1970 ob 0:00 UTC. Pri tem je UTC (Universal Time Coordinated) oznaka časovne cone, ki je bolj znana kot GMT (Greenwich Mean Time). Temu trenutku ustreza število 0, negativna števila predstavljajo trenutke pred tem časom, pozitivna pa po tem času.

Čas v JavaScriptu lahko zapišemo kot niz:

ali pa kot število:

Število objekta razreda Date je lahko tudi NaN, kar pomeni, da objekt ne predstavlja nekega določenega časa.

Kreiranje objekta Date

Objekt Date nam omogoča delo z datumi. Datum je sestavljen iz let, mesecev, dnevov, ur, minut, sekund in milisekund. Objekt Date kreriramo s konstruktorjem new Date().

Konstruktor Opis
Date() sestavi nov objekt razreda Date, ki predstavlja ta trenutek
Date(num) sestavi nov objekt razreda Date, ki vsebuje vrednost num
Date(leto, mes, dan, ura, min, sek, ms) sestavi nov objekt razreda Date, ki predstavlja določen trenutek (obvezna sta samo prva dva parametra, privzeta vrednost za parameter dan je 1, za ostale parametre pa 0)

Obstajajo 4 načini s katerimi kreiramo datum:

new Date() 
new Date(milliseconds) 
new Date(dateString) 
new Date(year, month, day, hours, minutes, seconds, milliseconds)

Z uporabo konstruktorja new Date(), kreiramo nov objekt s tekočim datumom in časom:

<p id="primer"></p> 
<script> 
   var d = new Date(); 
   document.getElementById("primer").innerHTML = d; 
</script>

Metode Date

Metode objekta Date omogočajo pridobitev ali nastavitev leta, meseca, dneva, ure, minute, sekunde ali milisekunde, pri čemer lahko uporabimo lokalni ali pa univerzalni (UTC ali GMT) čas.

Metode Get Date

Najpogostejše metode za pridobivanje datuma so:

Metoda Opis
getDate() vrne številko dneva (1-31) po lokalnem času
getDay() vrne številko dneva v tednu (0-6) po lokalnem času
getFullYear() vrne neokrajšano letnico po lokalnem času
getHours() vrne število ur (0-23) po lokalnem času
getMilliseconds() vrne število milisekund (0-999) po lokalnem času
getMinutes() vrne število minut (0-59) po lokalnem času
getMonth() vrne številko meseca (0-11) po lokalnem času
getSeconds() vrne število sekund (0-59) po lokalnem času
getTime() vrne število, ki predstavlja čas v milisekundah od 1.1.1970

Metoda getDay()

Metoda getDay() vrne številko dneva v tednu po lokalnem času (0-6 pri čemer je nedelja 0):

<p id="primer"></p> 
<script> 
   var d = new Date(); 
   document.getElementById("primer").innerHTML = d.getDay(); 
</script>

Če želimo izpisati dan z besedo, uporabimo tabelo z imeni dnevov:

<p id="primer"></p> 
<script> 
   var d = new Date();
   var dnevi = ["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]; 
   document.getElementById("primer").innerHTML = dnevi[d.getDay()]; 
</script>

Metoda getFullYear()

Metoda getFullYear()vrne neokrajšano letnico po lokalnem času:

<p id="primer"></p> 
<script> 
   var d = new Date(); 
   document.getElementById("primer").innerHTML = d.getFullYear(); 
</script>

Metoda getTime()

Metoda getTime()vrne število milisekund od 1.1.1970:

<p id="primer"></p> 
<script> 
   var d = new Date(); 
   document.getElementById("primer").innerHTML = d.getTime(); 
</script>

Metode Set Date

Najpogostejše metode za pridobivanje datuma so:

Metoda Opis
setDate(dan) nastavi dan (1-31) po lokalnem času
setFullYear(leto, mes, dan) nastavi letnico po lokalnem času
setHours(ura, min, sek, ms) nastavi uro (0-23) po lokalnem času, privzeta vrednost parametrov min, sek in ms je 0
setMilliseconds(ms) nastavi milisekunde (0-999) po lokalnem času
setMinutes(min, sek, ms) nastavi minute (0-59) po lokalnem času, privzeta vrednost parametrov sek in ms je 0
setMonth(mes, dan) nastavi mesec (0-11) po lokalnem času, če parametra dan ne podamo, ostane nespremenjen
setSeconds(sek, ms) nastavi sekunde (0-59) po lokalnem času, privzeta vrednost parametra ms je 0
setTime(čas) nastavi število, ki predstavlja milisekunde od 1.1.1970

Metoda setFullYear()

Metoda setFullYear()nastavi letnico po lokalnem času:

<p id="primer"></p> 
<script> 
   var d = new Date();
   d.setFullYear(2010, 8, 11); 
   document.getElementById("primer").innerHTML = d; 
</script>

Metoda setDate()

Metoda setDate()nastavi dan po lokalnem času:

<p id="primer"></p> 
<script> 
   var d = new Date();
   d.setDate(20); 
   document.getElementById("primer").innerHTML = d; 
</script>

Metodo setDate() lahko uporabimo tudi za dodajanje dni do datuma:

<p id="primer"></p> 
<script> 
   var d = new Date();
   d.setDate(d.getDate() + 20); //dodamo 20 dni
   document.getElementById("primer").innerHTML = d; 
</script>

Statične metode Date

Statične metode omogočajo pretvarjanje ustrezno zapisanega datuma v nizu v število (milisekunde od 1.1.1970):

Metoda Opis
Date.parse(niz) vrne število, ki ustreza času, zapisanem v nizu
Date.UTC(leto, mes, dan, ura, min, sek, ms) vrne število, ki ustreza času, zapisanemu s parametri (obvezna sta samo prva dva parametra, privzeta vrednost za dan je 1, za ostale parametre pa 0)
<p id="primer"></p> 
<script> 
	var ms = Date.parse("May 9, 2014"); 
	document.getElementById("primer").innerHTML = ms; 
</script>

Formati datumov

Veljaven datum v nizu JavaScripta lahko zapišemo na tri načine:

  • YYYY-MM-DD
  • YYYY MM DD
  • YYYY/MM/DD