Przejdź do treści

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("");

Komentarze

Zobacz więcej komentarzy

Facebook