Formatowanie daty w JavaScript
Nauczmy się teraz wyprowadzać datę w określonym formacie. Załóżmy, że na przykład chcemy wyprowadzić na ekran bieżący dzień, miesiąc i rok w formacie rok-miesiąc-dzień.
Zróbmy to:
let date = new Date();
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate());
Nasz kod ma jednak problem: numery miesięcy będą zaczynać się od zera, a my, najprawdopodobniej, chcielibyśmy, aby zaczynały się od jedynki.
Naprawmy problem:
let date = new Date();
console.log(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());
Nasz kod jednak wciąż nie jest doskonały.
Można to zauważyć tylko w określonych
miesiącach i w określone dni. Załóżmy, na przykład,
że teraz jest 5 marca 2020 roku.
W tym przypadku nasza data wyprowadzi się w formacie 2020-3-5. A my chcielibyśmy, aby data wyprowadziła się w formacie 2020-03-05 - z zerami przed numerami dni i miesięcy z jednej cyfry.
Dla rozwiązania problemu napiszmy funkcję addZero,
która będzie dodawać zera przed liczbami
od 0 do 9:
function addZero(num) {
if (num >= 0 && num <= 9) {
return '0' + num;
} else {
return num;
}
}
Zastosujmy stworzoną funkcję i teraz naprawdę otrzymamy datę w potrzebnym nam formacie:
let date = new Date();
console.log(
addZero(date.getFullYear()) + '-' +
addZero(date.getMonth() + 1) + '-' +
addZero(date.getDate())
);
Wyprowadź na ekran bieżącą datę-godzinę w formacie 12:59:59 31.12.2014. Użyj dla wszystkich części daty (oprócz roku) stworzonej przez nas funkcji dla dodania zera w razie potrzeby.