Obiekt Date, czyli przetwarzanie daty i czasu w JavaScript
Stronę tą wyświetlono już: 13250 razy
Do przetwarzania czasu w JavaScript dostępna jest klasa o nazwie Date. Klasa ta dysponuje szeregiem metod umożliwiających pobieranie, ustawianie oraz formatowanie daty i czasu. Sam konstruktor działa w zależności od ilości podanych parametrów w następujący sposób:
- var now = new Date(); // pozyskana zostanie bieżąca data i godzina
- var someDateInMiliseconds = new Date(10000); // data w milisekundach od 00:00:00, 1 stycznia 1970 roku
- var someDateAsString = new Date("01/02/2000"); // ustawienie daty za pomocą tekstu (miesiąc/dzień/rok)
- var someDate = new Date(2017, 2, 8, 20, 0, 0); // ustawienie czasu poprzez podanie roku, miesiąca - indeksowanie od 0 - 11, dnia, godziny minuty i milisekund. Liczba argumentów jest opcjonalna pod warunkiem, że podane zostaną co najmniej dwie pierwsze wartości
Metody zwracające
Poniżej wypisane zostały metody zwracające klasy Date:
Nazwa metody | Opis |
---|---|
getDate | Zwraca numer dnia miesiąca (wartość z przedziału od 0 - 31) |
getDay | Zwraca numer dnia tygodnia (wartość z przedziału od 0 - 6) |
getFullYear | Zwraca rok jako liczbę |
getHours | Zwraca godzinę (liczba z zakresu od 0 do 23); |
getMilliseconds | Zwraca milisekundy (wartość z zakresu od 0 do 999); |
getMinutes | Zwraca liczbę minut (wartość z zakresu od 0 do 59); |
getMonth | Zwraca numer miesiąca (wartość z zakresu od 0 do 11); |
getSeconds | Zwraca sekundy (wartość z zakresu od 0 do 59); |
getTime | Zwraca liczbę milisekund, które upłynęły od północy 1 stycznia 1970 roku; |
getTimezoneOffset | Zwraca różnicę czasu pomiędzy UTC a czasem lokalnym w minutach |
getUTCDate | Zwraca dzień miesiąca w UTC (wartość z przedziału od 1 do 31); |
getUTCDay | Zwraca dzień tygodnia w UTC (wartość z przedziału od 0 do 6); |
getUTCFullYear | Zwraca rok w UTC; |
getUTCHours | Zwraca godziny w UTC (wartość z zakresu od 0 do 23); |
getUTCMilliseconds | Zwraca milisekundy w UTC (wartość z zakresu od 0 do 999); |
getUTCMinutes | Zwraca minuty w UTC (wartość z przedziału od 0 do 59); |
getUTCMonth | Zwraca miesiąc w UTC (wartość z przedziału 0 do 11); |
getUTCSeconds | Zwraca sekundy w UTC (wartość od 0 do 59); |
now | Zwraca liczbę milisekund, jaka upłynęła od północy 1 stycznia 1970 roku do chwili wywołania tej metody; |
parse | Parsuje podaną na wejściu datę w postaci tekstowej na liczbę, jaka upłynęła od północy 1 stycznia 1970 roku do daty zawartej w zmiennej tekstowej. |
toDateString | Zwraca datę jako tekst |
toISOString | Zwraca datę jako tekst używając standardu ISO; |
toJSON | Zwraca datę jako tekst w formacie daty JSON; |
toLocaleDateString | Zwraca datę jako tekst używając lokalnego stylu formatowania daty; |
toLocaleTimeString | Zwraca czas jako tekst używając lokalnego stylu formatowania czasu; |
toLocaleString | Zamienia datę i czas na tekst wykorzystując lokalny styl formatowania daty i czasu; |
toString | Zamiana daty i czasu na postać tekstową |
toTimeString | Zamienia czas na postać tekstową; |
toUTCString | Zamienia datę zapisaną w UTC do postaci tekstu |
UTC | Zamienia datę na milisekundy, które upłynęły od północy 1 stycznia 1970 w czasie UTC |
valueOf | Zwraca milisekundy jakie upłynęły od północy 1 stycznia 1970 roku do podanej daty |
Metody ustawiające
Oto zestawienie metod ustawiających:
Nazwa metody | Opis |
---|---|
setDate | Ustawia dzień miesiąca; |
setFullYear | Ustawia rok; |
setHours | Ustawia godzinę; |
setMilliseconds | Ustawia milisekundy; |
setMinutes | Ustawia minuty; |
setMonth | Ustawia miesiąc; |
setSeconds | Ustawia sekundy |
setTime | Ustawia datę na podstawie podanego numeru przed/po pierwszym stycznia 1970 roku; |
setUTCDate | Ustawia dzień miesiąca w UTC; |
setUTCFullYear | Ustawia roke w UTC; |
setUTCHours | Ustawienie godziny w UTC; |
csetUTCMilliseconds | Ustawia milisekundy w UTC |
setUTCMinutes | Ustaiwa minuty w UTC; |
setUTCMonth | Ustawia miesiąc w UTC |
setUTCSeconds | Ustawia sekundy w UTC; |
Obliczanie różnicy pomiędzy dwiema datami
Często gęsto zdarza się że różnicę liczyć chcę:
- var date1 = new Date("2/20/2000"); // ustawienie daty za pomocą tekstu (miesiąc/dzień/rok)
- var date2 = new Date("10/1/2017");
- var diff = new Date(Math.abs(date2.getTime() - date1.getTime()));
- alert((diff.getFullYear() - 1970) + " lat " + diff.getMonth() + " miesięcy " + diff.getDate() + " dni" );
Powyższy skrypt wyświetli: 17 lat 7 miesięcy 13 dni

Tytuł:
JavaScript funkcyjnie. Zrównoważone, pragmatyczne programowanie funkcyjne w JavaScript
Autor:
Kyle Simpson

Tytuł:
JavaScript dla dzieci dla bystrzaków
Autor:
Chris Minnick, Eva Holland

Tytuł:
Modularny JavaScript dla zaawansowanych
Autor:
Nicolas Bevacqua

Tytuł:
JavaScript w praktyce. Stwórz twitterowego bota, system sygnalizacyjny LED i inne projekty z użyciem Node.js i Raspberry Pi
Autor:
Lynn Beighley

Tytuł:
Matematyka dla programistów JavaScript
Autor:
Jacek Piechota

Tytuł:
JavaScript i jQuery. Interaktywne strony WWW dla każdego. Podręcznik Front-End Developera
Autor:
Jon Duckett

Tytuł:
ECMAScript 6. Przewodnik po nowym standardzie języka JavaScript
Autor:
Nicholas C. Zakas

Tytuł:
JavaScript i wzorce projektowe. Programowanie dla zaawansowanych. Wydanie II
Autor:
Simon Timms

Tytuł:
HTML,CSS i JavaScript dla każdego. Wydanie VII
Autor:
Laura Lemay, Rafe Colburn, Jennifer Kyrnin

Tytuł:
Roboty JavaScript od podstaw. Projekty NodeBots dla platformy Johnny-Five z wykorzystaniem płytek Raspberry Pi, Arduino oraz BeagleBone
Autor:
Rick Waldron, Backstop Media (lista współautorów w uwagach dodatkowych)