Ibland vill man formattera ett datum för utskrift, till exempel om man tar en datum från en databas och vill skriva ut på ett enkelt sätt med YYYY-MM-DD.
var today = new Date().toISOString().slice(0, 10);
var today = new Date().toJSON().slice(0, 10);
Precis som man kan läsa i SO-tråden så fungerar detta endast tillförlitligt om man inte bryr sig om tidszoner, då både .toISOString() och .toJSON() returnerar datumet i UTC-format, vilket kan ställa till det timmarna kring midnatt ur ett svenskt perspektiv.
// UTC+1 trouble with timezone
var foo = new Date(2019, 0, 21, 0, 0, 0); // 2019-01-21 00:00:00
console.log(foo.toISOString().slice(0, 10)); // 2019-01-20
När man formatterar ett datum, i en databas-rapport, så kan det vara enklare att formattera datumet med SQL, istället för att behöva formattera datumet i efterhand med ett programmeringsspråk.
Ibland vill man formattera ett datum för utskrift, till exempel om man tar en datum från en databas och vill skriva ut på ett enkelt sätt med YYYY-MM-DD.
I JavaScript kan man formattera datum enligt följande (förslag tagna från https://stackoverflow.com/questions/3552461/how-to-format-a-javascript-date).
Precis som man kan läsa i SO-tråden så fungerar detta endast tillförlitligt om man inte bryr sig om tidszoner, då både .toISOString() och .toJSON() returnerar datumet i UTC-format, vilket kan ställa till det timmarna kring midnatt ur ett svenskt perspektiv.
När man formatterar ett datum, i en databas-rapport, så kan det vara enklare att formattera datumet med SQL, istället för att behöva formattera datumet i efterhand med ett programmeringsspråk.
Det finns en inbyggd funktion DATE_FORMAT() som kan hjälpa dig.