⊗jsPmTmAA 322 of 505 menu

Automatyczna korekta dat w JavaScript

JavaScript ma bardzo interesującą i przydatną cechę: jeśli podczas tworzenia obiektu Date została podana nieprawidłowa chwila czasu - zostanie ona automatycznie przeliczona na prawidłową. Spójrzmy na przykład.

Jak wiesz, data 35 stycznia nie istnieje. Maksymalny możliwy dzień stycznia to 31. Okazuje się, że nasza data 35 stycznia ma 4 dodatkowe dni. JavaScript w takim przypadku po prostu doda te dodatkowe 4 dni do następnego miesiąca:

let date = new Date(2018, 0, 35); console.log(date); // otrzymamy 4 lutego

Można podawać nie tylko dodatkowe dni, ale i miesiące. Należy przy tym pamiętać, że miesiące zaczynają się od zera, a więc ostatni prawidłowy miesiąc to 11-ty. Jeśli podamy 12-ty miesiąc, otrzymamy styczeń następnego roku:

let date = new Date(2018, 12, 1); // podajemy 12-ty miesiąc console.log(date); // otrzymamy 1 stycznia 2019 roku

Opisana korekta działa również w mniejszą stronę. Jak wiesz, najniższym dniem miesiąca jest dzień o numerze 1. Dlatego, jeśli podamy dzień o numerze 0, otrzymamy ostatni dzień poprzedniego miesiąca:

let date = new Date(2018, 1, 0); // podajemy zerowy dzień console.log(date); // otrzymamy 31 stycznia

Można również podawać ujemne wartości dni i miesięcy. Należy przy tym pamiętać, że najniższy dzień ma numer 1, a najniższy miesiąc - numer 0. To znaczy, że minus pierwszy dzień trafi w 2 dzień od końca poprzedniego miesiąca, a minus pierwszy miesiąc trafi po prostu w ostatni miesiąc poprzedniego roku:

let date = new Date(2018, 1, -1); // podajemy -1 dzień console.log(date); // otrzymamy 30 stycznia
let date = new Date(2018, -1, 1); // podajemy -1 miesiąc console.log(date); // otrzymamy 1 grudnia 2017 roku

Wszystko powyższe działa analogicznie z godzinami, minutami i sekundami:

let date = new Date(2018, 0, 1, 24, 0, 0); // podajemy 24-tą godzinę console.log(date); // otrzymamy 2 stycznia, 0 godzin
let date = new Date(2018, 0, 1, 25, 0, 0); // podajemy 25-tą godzinę console.log(date); // otrzymamy 2 stycznia, 1 godzina

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 1, 35); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 15, 1); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 3, 31); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 1, 31); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 12, 33); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 33, 33); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 5, 0); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 0, 0); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, -12, -33); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // jaka będzie data?

Określ, na jaką datę JavaScript przekształci następującą chwilę czasu:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // jaka będzie data?
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć