Obiekty daty - Date - JS
Przekształcanie tekstu na datę - parse
Jak przekształcić datę i czas w formie tekstowej na liczbę milisekund od północy 1 stycznia 1970 roku?
Date.parse(string)
- Parametry:
String
string - data i czas w postaci tekstowej- Wartość:
Number
- liczba milisekund od północy 1 stycznia 1970 w strefie czasowej południka zerowego albo NaN (gdy podano nieprawidłową datę bądź czas)
Wyznacza liczbę milisekund, która upłynęła od północy 1 stycznia 1970 roku w strefie czasowej południka zerowego do podanej daty. Liczba ta może się różnić w zależności od podanej strefy czasowej. Funkcja może zwracać również wartości ujemne, co oznacza odliczanie wstecz, czyli daty przed 1 stycznia 1970.
1 sekunda zawiera 1000 milisekund.
Datę i czas zapisujemy w następującym formacie:
YYYY YYYY-MM YYYY-MM-DD YYYY-MM-DDTHH:mmZ YYYY-MM-DDTHH:mm:ssZ YYYY-MM-DDTHH:mm:ss.sssZ
- YYYY - rok w zakresie 0000 - 9999
- MM - miesiąc w zakresie 01 - 12 (domyślnie: 01)
- DD - dzień miesiąca w zakresie 01 - 31 (domyślnie: 01)
- HH - godzina w zakresie 00 - 23 (domyślnie: 00)
- mm - minuta w zakresie 00 - 59 (domyślnie: 00)
- ss - sekunda w zakresie 00 - 59 (domyślnie: 00)
- sss - milisekunda w zakresie 000 - 999 (domyślnie: 000)
- Z - przesunięcie strefy czasowej podane jako
+HH:mm
lub-HH:mm
albo Z (co jest równoważne +00:00)
Zwróć uwagę, że zapisując rok tekstowo zawsze musimy użyć czterech cyfr, a w przypadku pozostałych części daty i czasu (z wyjątkiem milisekund) - dwóch cyfr.
Jeżeli którykolwiek fragment zostanie podany poza poprawnym zakresem, funkcja zwróci wartość NaN.
Dla daty x = new Date(0)
, wszystkie niżej wymienione wyrażenia powinny zwracać taką samą wartość:
x.valueOf()
Date.parse(x.toString())
Date.parse(x.toUTCString())
Date.parse(x.toISOString())
Natomiast poniższe wyrażenie już niekoniecznie musi się im równać:
Date.parse(x.toLocaleString())
Przykład Date.parse
Wszystkie poniższe wyrażenia powinny wynosić zero:
Date.parse("1970"); Date.parse("1970-01"); Date.parse("1970-01-01"); Date.parse("1970-01-01T00:00Z"); Date.parse("1970-01-01T00:00:00Z"); Date.parse("1970-01-01T00:00:00.000Z"); Date.parse("1970-01-01T00:00:00+00:00"); Date.parse("1970-01-01T00:00:00-00:00"); Date.parse("1970-01-01T01:00+01:00");
Natomiast dla tak zdefiniowanych parametrów, funkcja powinna zwrócić wartość NaN:
Date.parse("2000-00"); Date.parse("2000-13"); Date.parse("2000-01-00"); Date.parse("2000-01-32"); Date.parse("2000-01-01T25:00Z"); Date.parse("2000-01-01T00:60Z"); Date.parse("2000-01-01T00:00:60Z"); Date.parse("2000-01-01T24:01:00Z"); Date.parse("2000-01-01T24:00:01Z"); Date.parse("2000-1-1T0:0:0Z"); Date.parse("test"); Date.parse("");