⊗jsPmTmAA 322 of 505 menu

Автоматична корекција на датуми во JavaScript

JavaScript има многу интересна и корисна карактеристика: ако при креирањето на објектот Date е наведен невалиден временски момент - тој автоматски ќе се пресмета во валиден. Ајде да погледнеме на пример.

Како што знаете, датумот 35 јануари не постои. Максималниот можен ден во јануари е 31. Значи, нашиот датум 35 јануари има 4 дополнителни денови. JavaScript во таков случај едноставно ќе ги додаде овие дополнителни 4 денови на следниот месец:

let date = new Date(2018, 0, 35); console.log(date); // ќе испадне 4 февруари

Може да се наведат не само дополнителни денови, туку и месеци. При тоа, треба да се запамети дека месеците започнуваат од нула, што значи дека последниот валиден месец е 11-тиот. Ако се наведе 12-тиот месец, ќе се добие јануари на следната година:

let date = new Date(2018, 12, 1); // го наведуваме 12-тиот месец console.log(date); // ќе испадне 1 јануари 2019 година

Опишаната корекција работи и во помала насока. Како што знаете, најмалиот ден во месецот е денот со број 1. Затоа, ако се наведе ден со број 0, ќе се добие последниот ден од претходниот месец:

let date = new Date(2018, 1, 0); // наведуваме нулти ден console.log(date); // ќе испадне 31 јануари

Може да се наведат и негативни вредности за денови и месеци. При тоа, треба да се запамети дека најмалиот ден има број 1, а најмалиот месец - број 0. Ова значи дека минус првиот ден паѓа на 2 ден од крајот на претходниот месец, а минус првиот месец паѓа едноставно на последниот месец од претходната година:

let date = new Date(2018, 1, -1); // наведуваме -1 ден console.log(date); // ќе испадне 30 јануари
let date = new Date(2018, -1, 1); // наведуваме -1 месец console.log(date); // ќе испадне 1 декември 2017 година

Сето горенаведено аналогно работи со часови, минути и секунди:

let date = new Date(2018, 0, 1, 24, 0, 0); // наведуваме 24-ти час console.log(date); // ќе испадне 2 јануари, 0 часа
let date = new Date(2018, 0, 1, 25, 0, 0); // наведуваме 25-ти час console.log(date); // ќе испадне 2 јануари, 1 час

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 1, 35); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 15, 1); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 3, 31); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 1, 31); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 12, 33); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 33, 33); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 5, 0); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 0, 0); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, -12, -33); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // кој датум ќе биде?

Определете, во кој датум JavaScript ќе го трансформира следниот временски момент:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // кој датум ќе биде?
Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј