19. Dates i Temps

 

Índex

Data i hora actuals

El JavaScript té un objecte predeterminat, Date(), capaç de contenir les dades corresponents a dates i hores; aquest objecte com a tal és buit, i cada vegada que volem treballar amb dades de dates i hores n'hem de crear un exemplar, amb la fórmula

Quan no es fa servir cap argument, les dades recollides fan referència a la data i l'hora segons el rellotge de l'ordinador.

Podem transformar el conjunt de les dades i presentar-les en un format estàndard mitjançant la funció toString():

Exemple

 

Extracció de les dades dels exemplars de Date()

Hi ha una sèrie de funcions que individualitzen i presenten en format numèric les dades contingudes en l'exemplar de l'objecte o que deriven d'aquestes:

getDay() Dia de la setmana: valors 0-6
getDate() Dia del mes: valors 1-31
getMonth() Nombre del mes: valors 0-11
getFullYear() Nombre de l'any amb quatre xifres
getHours() Hora: valors 0-23
getMinutes() Minut: valors 0-59
getSeconds() Segon: valors 0-59
getTime() Temps transcorregut des de les 00:00 de l'1 de gener de 1970, expressat en mil·lisegons.
Aquest valor és positiu per a les dates posteriors a la de referència i negatiu per a les anteriors.

Noteu bé que la numeració dels dies comença per 0 (diumenge) i la dels mesos també (0=gener). Si desitgem presentar una data en la forma numèrica dd/mm/aaaa, haurem de sumar una unitat al valor presentat pel mètode getMonth():

Exemple

 

Altres dates i hores

Podem crear exemplars de Date() referits a moments que no són l'actual; per a això cal fer servir un argument en el moment de la creació. De les diverses possibilitats n'hi ha dues de bàsiques:

Podem aplicar a aquests exemplars qualsevol de les funcions vistes en l'apartat anterior.

Exemple

Hi ha altres formats acceptats; entre aquests, els que fan servir els diversos navegadors per a presentar la propietat lastModified; això fa possible estandarditzar la presentació d'aquesta dada.

Exemple

 

Modificació de les dades

A les funcions get...() en corresponen unes altres, set...() que canvien els valors de l'exemplar de Date() corresponent d'acord amb el contingut de l'argument.

L'argument sol consistir en una expressió formada pel corresponent mètode get... i l'increment, positiu o negatiu, desitjat; per exemple:

Exemple

 

Horari Universal

Hi ha un estàndard universal per a l'expressió de l'hora, anomenat UTC (Universal Time Coordinated), que ha substituït un altre estàndard anomenat GMT (Greenwich Mean Time). A efectes pràctics es poden considerar equivalents els dos sistemes, que es basen en l'hora solar mitjana corresponent a l'observatori de Greenwich (Gran Bretanya).

L'hora legal de cada país pot ésser diferent de l'UTC; per exemple, als Països Catalans l'hora legal d'hivern s'obté afegint 1 hora a l'UTC i la d'estiu afegint-n'hi 2.

Els rellotges dels ordinadors recullen tots dos valors; per això en ajustar-hi la data i l'hora s'ha d'informar també del lloc on és situat l'ordinador, a fi que automàticament s'estableixi el decalatge entre l'un i l'altre.

La funció

és anàloga a toString(), però presenta l'hora en UTC.

Exemple