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); // қай күн болады?