Outomatiese datumkorreksie in JavaScript
JavaScript het 'n baie interessante en nuttige
kenmerk: indien 'n ongeldige tydstip gespesifiseer is
by die skepping van die Date-voorwerp -
sal dit outomaties na 'n geldige een herbereken word.
Kom ons kyk na 'n voorbeeld.
Soos jy weet, bestaan die datum 35 Januarie nie.
Die maksimum moontlike dag in Januarie is 31.
Dit beteken dat ons datum 35 Januarie
4 oortollige dae het. JavaScript sal in so 'n
geval eenvoudig hierdie oortollige 4
dae by die volgende maand voeg:
let date = new Date(2018, 0, 35);
console.log(date); // sal 4 Februarie wees
Jy kan nie net oortollige dae spesifiseer nie,
maar ook maande. Onthou egter dat maande
by nul begin, wat beteken die laaste geldige
maand is die 11-de. As jy die 12-de
maand spesifiseer, sal jy Januarie van die volgende jaar kry:
let date = new Date(2018, 12, 1); // spesifiseer die 12-de maand
console.log(date); // sal 1 Januarie 2019 wees
Die beskryfde korreksie werk ook in die minder
rigting. Soos jy weet, is die kleinste moontlike
dag van die maand dag nommer 1.
Dus, as jy dag nommer 0 spesifiseer,
sal jy die laaste dag van die vorige maand kry:
let date = new Date(2018, 1, 0); // spesifiseer nul-dag
console.log(date); // sal 31 Januarie wees
Jy kan ook negatiewe waardes vir dae en maande spesifiseer.
Onthou dat die kleinste dag nommer 1 is, en
die kleinste maand nommer 0 is. Dit beteken
dat die negatiewe eerste dag in die 2
laaste dag van die vorige maand val, en die negatiewe
eerste maand val in die laaste maand van die vorige jaar:
let date = new Date(2018, 1, -1); // spesifiseer -1 dag
console.log(date); // sal 30 Januarie wees
let date = new Date(2018, -1, 1); // spesifiseer -1 maand
console.log(date); // sal 1 Desember 2017 wees
Alles wat hierbo gesê is, werk eweneens vir ure, minute en sekondes:
let date = new Date(2018, 0, 1, 24, 0, 0); // spesifiseer die 24-ste uur
console.log(date); // sal 2 Januarie, 0 ure wees
let date = new Date(2018, 0, 1, 25, 0, 0); // spesifiseer die 25-ste uur
console.log(date); // sal 2 Januarie, 1 uur wees
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 1, 35);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 15, 1);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 3, 31);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 1, 31);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 12, 33);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 33, 33);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 5, 0);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 0, 0);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, -12, -33);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 0, 1, 23, 0, 60);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 0, 1, 23, 60, 0);
console.log(date); // wat sal die datum wees?
Bepaal na watter datum JavaScript die volgende tydstip sal omskakel:
let date = new Date(2018, 0, 1, 100, 100, 100);
console.log(date); // wat sal die datum wees?