⊗jsPmTmAA 322 of 505 menu

Automatisk korrigering av datum i JavaScript

JavaScript har en mycket intressant och användbar egenskap: om ett felaktigt ögonblick i tiden angavs när Date-objektet skapades - kommer det automatiskt att omräknas till ett korrekt. Låt oss titta på ett exempel.

Som ni vet finns det inget datum som den 35 januari. Den högsta möjliga dagen i januari är den 31. Det betyder att vårt datum den 35 januari har 4 extra dagar. JavaScript kommer i ett sådant fall helt enkelt att lägga till dessa extra 4 dagar till nästa månad:

let date = new Date(2018, 0, 35); console.log(date); // blir den 4 februari

Det är möjligt att ange inte bara extra dagar, utan även extra månader. Man bör komma ihåg att månader börjar från noll, vilket betyder att den sista korrekta månaden är den 11:e. Om man anger den 12:e månaden blir resultatet januari nästa år:

let date = new Date(2018, 12, 1); // anger den 12:e månaden console.log(date); // blir den 1 januari 2019

Den beskrivna korrigeringen fungerar även åt det andra hållet. Som ni vet är den minsta möjliga dagen i månaden dagen med nummer 1. Därför, om man anger dagen med nummer 0, blir resultatet den sista dagen i föregående månad:

let date = new Date(2018, 1, 0); // anger den nollte dagen console.log(date); // blir den 31 januari

Man kan också ange negativa värden för dagar och månader. Man bör då komma ihåg att den minsta dagen har nummer 1, och den minsta månaden har nummer 0. Det betyder att den minus första dagen hamnar på den 2:a dagen från slutet av föregående månad, och den minus första månaden hamnar helt enkelt i den sista månaden av föregående år:

let date = new Date(2018, 1, -1); // anger -1 dag console.log(date); // blir den 30 januari
let date = new Date(2018, -1, 1); // anger -1 månad console.log(date); // blir den 1 december 2017

Allt som sagts ovan fungerar på samma sätt med timmar, minuter och sekunder:

let date = new Date(2018, 0, 1, 24, 0, 0); // anger den 24:e timmen console.log(date); // blir den 2 januari, 0 timmar
let date = new Date(2018, 0, 1, 25, 0, 0); // anger den 25:e timmen console.log(date); // blir den 2 januari, 1 timme

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 1, 35); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 15, 1); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 3, 31); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 1, 31); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 12, 33); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 33, 33); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 5, 0); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 0, 0); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, -12, -33); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // vilket datum blir det?

Bestäm till vilket datum JavaScript omvandlar följande ögonblick i tiden:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // vilket datum blir det?
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa