Hur konverterar man en dd/mm/yyyy-sträng till ett JavaScript Date-objekt?
Hur man konverterar ett datum i formatet 23/10/2015 till ett JavaScript Date-format:
Fri Oct 23 2015 15:24:53 GMT+0530 (India Standard Time)
Svar #1
MM/DD/ÅÅÅÅ-format
Om du har formatet MM/DD/YYYY som är standard för JavaScript, kan du helt enkelt skicka din sträng till Date(string)-konstruktorn. Den kommer att tolka den åt dig.
var dateString = "10/23/2015"; // Oct 23
var dateObject = new Date(dateString);
document.body.innerHTML = dateObject.toString();DD/MM/YYYY-format - manuellt
Om du arbetar med detta format kan du dela upp datumet för att få dag, månad och år separat och sedan använda det i en annan konstruktor - Date(year, month, day):
var dateString = "23/10/2015"; // Oct 23
var dateParts = dateString.split("/");
// month is 0-based, that's why we need dataParts[1] - 1
var dateObject = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0]);
document.body.innerHTML = dateObject.toString();För mer information kan du läsa artikeln om Date på Mozilla Developer Network.
DD/MM/YYYY - använder moment.js-biblioteket
Alternativt kan du använda moment.js-biblioteket, som troligen är det mest populära biblioteket för att analysera och hantera datum och tid i JavaScript:
var dateString = "23/10/2015"; // Oct 23
var dateMomentObject = moment(dateString, "DD/MM/YYYY"); // 1st argument - string, 2nd argument - format
var dateObject = dateMomentObject.toDate(); // convert moment.js object to Date object
document.body.innerHTML = dateObject.toString();<script src="https://momentjs.com/downloads/moment.min.js"></script>I alla tre exemplen innehåller variabeln dateObject ett objekt av typen Date, vilket representerar ett ögonblick i tiden och kan vidare konverteras till valfritt strängformat.
Svar #2
Här är en jag förberedde tidigare...
convertToDate(dateString) {
// Convert a "dd/MM/yyyy" string into a Date object
let d = dateString.split("/");
let dat = new Date(d[2] + '/' + d[1] + '/' + d[0]);
return dat;
}
