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