Dzień dobry! Dopiero zaczynam z JS, rozwiązuję proste zadania i niestety czasami nie widzę podstawowych pomyłek. 1. Tworzę funkcje, która wyświetli aktualną datę w żądanym formacie - to działa!
function currentDate() {
var today = new Date().toLocaleDateString('pl-PL', {
day : 'numeric',
month : 'numeric',
year : 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
return today;
}
console.log(currentDate());
2. Następnie potrzebuję stworzyć funkcję, która wyświetli nową datę po odjęciu lub dodaniu dni. To działa połowicznie... powstaje mi nowa data, ale tylko jeżeli dodaje do funkcji var today = new Date(); (czyli proszę o wyświetlenie dzisiejszej daty na nowo...). Chciałabym aby dzisiejsza data była zaciągana z tej pierwszej funkcji.
function newDate(){
var today = new Date();
var n = new Date();
n.setYear(today.getFullYear());
n.setMonth(today.getMonth());
n.setDate(today.getDate() + LD[0]);
n.setHours(today.getHours());
n.setMinutes(today.getMinutes());
n.setSeconds(today.getSeconds());
var nday = n.toLocaleDateString('pl-PL', {
day : 'numeric',
month : 'numeric',
year : 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
return nday;
}
LD = [-80]; //liczba dni do zmiany
console.log(newDate());
3. Na końcu potrzebuję wskazać różnicę pomiędzy obydwoma datami. I tutaj znowu pojawia się problem. Nie wiem jak pobrać argumenty z poprzednich funkcji tak jak w zadaniu powyżej. Tzn. wydaje mi się, że sposób jest właściwy, ale nie rozumiem, dlaczego nie pobiera... Kiedy w trzecim przykładzie przekopiowałam wszystkie dane do jednej funkcji consola pokazywała mi liczbę dni.
function difference(){
var diff = currentDate().getDate() - newDate().getDate();
return diff;
}
console.log(difference());
A w tym przypadku pojawia się komunikat: Uncaught TypeError: currentDate(...).getDate is not a function. Domyślam się, że w trzecim zadaniu będę musiała jeszcze zrobić pętlę aby sprawdzać, która data jest większa i ładnie to wyświetlać, ale na razie utkwiłam na tym etapie... :(
Będę bardzo wdzięczna za pomoc!