Datos formatavimas JavaScript
Dabar išmokime išvesti datą tam tikru formatu. Tarkime, pavyzdžiui, norime atvaizduoti ekrane dabartinę dieną, mėnesį ir metus formatu metai-mėnuo-diena.
Padarykime tai:
let date = new Date();
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate());
Tačiau mūsų kodas turi problemą: mėnesių numeriai bus skaičiuojami nuo nulio, o mes, greičiausiai, norėtume, kad jie prasidėtų nuo vieneto.
Išspręskime problemą:
let date = new Date();
console.log(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());
Tačiau mūsų kodas vis tiek nėra tobulas.
Tai galima pastebėti tik tam tikrais
mėnesiais ir tam tikromis dienomis. Tarkime, pavyzdžiui,
dabar 5-ą kovo 2020 metais.
Tokiu atveju mūsų data bus išvesta formatu 2020-3-5. O mes norėtume, kad data būtų išvesta formatu 2020-03-05 - su nuliais prieš dienų ir mėnesių numerius, kurie susideda iš vieno skaitmens.
Problemai išspręsti parašykime funkciją addZero,
kuri pridės nulius prieš skaičius
nuo 0 iki 9:
function addZero(num) {
if (num >= 0 && num <= 9) {
return '0' + num;
} else {
return num;
}
}
Pritaikykime sukurtą funkciją ir dabar tikrai gausime datą mums reikiamu formatu:
let date = new Date();
console.log(
addZero(date.getFullYear()) + '-' +
addZero(date.getMonth() + 1) + '-' +
addZero(date.getDate())
);
Atvaizduokite ekrane dabartinę datos-laiką formatu 12:59:59 31.12.2014. Visoms datos dalims (išskyrus metus) naudokite mūsų sukurtą funkciją nulio pridėjimui, jei reikia.