I am receiving a very specific logic error in my code and I am not sure what is causing it. I have a function
formatDate() which gets the current date and puts it in the format yyyy-mm-dd. To achieve this, I have to add a “0” to the front of the month or day when it is a single digit (smaller than 10).
I have written this code to do this:
let year = currentDate.getFullYear(); let month = currentDate.getMonth() < 10 ? "0" + (currentDate.getMonth() + 1) : currentDate.getMonth() + 1; let date = currentDate.getDate() < 10 ? "0" + currentDate.getDate() : currentDate.getDate();
However, when I do
console.log(year + "-" + month + "-" + date), I get this:
As you can see, the zero is not added to the
date but it is added to the
month, despite both variables having the exact same logic. I have no idea what is causing this.
9, this mean your condition
currentDate.getMonth() < 10 became
true, then it appends “0” to
Get “correct” month value then make the condition:
let month = (currentDate.getMonth() + 1) < 10 ? "0" + (currentDate.getMonth() + 1) : currentDate.getMonth() + 1;