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:

javascriptlet 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ą:

javascriptlet 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:

javascriptfunction addZero(num) {
  if (num >= 0 && num <= 9) {
    return '0' + num;
  } else {
    return num;
  }
}

Pritaikykime sukurtą funkciją ir dabar tikrai gausime datą mums reikiamu formatu:

javascriptlet date = new Date();

console.log(
  addZero(date.getFullYear()) + '-' + 
  addZero(date.getMonth() + 1) + '-' +
  addZero(date.getDate())
);
Задание 1

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.