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); // կստացվի 2019 թվականի հունվարի 1
Նկարագրված ուղղումը աշխատում է նաև դեպի փոքր
կողմը: Ինչպես գիտեք, ամսվա ամենափոքր
օրը 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); // կստացվի 2017 թվականի դեկտեմբերի 1
Վերոնշյալը նմանապես աշխատում է ժամերի, րոպեների և վայրկյանների հետ:
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); // ինչ ամսաթիվ կլինի?