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;     
  }

Relaterade artiklar