Maak datum in MM/dd/jjjj in JavaScript

Ik heb een datumnotatie zoals deze '2010-10-11T00:00:00+05:30'. Ik moet formatteren naar MM/dd/yyyymet JavaScript of jQuery . Wie helpt mij hetzelfde te doen.


Antwoord 1, autoriteit 100%

Probeer dit; houd er rekening mee dat JavaScript-maanden 0-geïndexeerd zijn, terwijl dagen 1-geïndexeerd zijn.

var date = new Date('2010-10-11T00:00:00+05:30');
    alert(((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + ((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + date.getFullYear());

Antwoord 2, autoriteit 62%

Alle andere antwoorden lossen het probleem niet helemaal op. Ze drukken de datum af in de notatie mm/dd/jjjj, maar de vraag ging over MM/dd/jjjj. Merk je het subtiele verschil op? MM geeft aan dat een voorloopnul de maand moet invullen als de maand een enkel cijfer is, zodat het altijd een dubbelcijferig getal is.

d.w.z. terwijl mm/dd 31-3 zou zijn, zou MM/dd 31-3 zijn.

Ik heb een eenvoudige functie gemaakt om dit te bereiken. Merk op dat dezelfde opvulling niet alleen wordt toegepast op de maand, maar ook op de dag van de maand, wat in feite deze MM/DD/jjjj maakt:

function getFormattedDate(date) {
  var year = date.getFullYear();
  var month = (1 + date.getMonth()).toString();
  month = month.length > 1 ? month : '0' + month;
  var day = date.getDate().toString();
  day = day.length > 1 ? day : '0' + day;
  return month + '/' + day + '/' + year;
}

Antwoord 3, autoriteit 16%

ISO-compatibel dateString

Als de dateStringRFC282en ISO8601-compatibel :
geef de string door aan de Date Constructor:

const dateString = "2020-10-30T12:52:27+05:30"; // ISO8601 compliant dateString
const D = new Date(dateString);                 // {object Date}

van hieruit kunnen we de gewenste waarden extraheren met behulp van Datumtrekkers:

D.getMonth() + 1  // 10 (PS: +1 since Month is 0-based)
D.getDate()       // 30
D.getFullYear()   // 2020

Niet-standaard datumstring

Indien niet-standaard datumtekenreeks:
destructureer de string in bekende delen en geef de variabelen vervolgens door aan de Datum Constructor:

nieuwe datum(jaar, maandIndex [, dag [, uren [, minuten [, seconden [, milliseconden]]]]])

const dateString = "30/10/2020 12:52:27";
const [d, M, y, h, m, s] = dateString.match(/\d+/g);
// PS: M-1 since Month is 0-based
const D = new Date(y, M-1, d, h, m, s);  // {object Date}
D.getMonth() + 1  // 10 (PS: +1 since Month is 0-based)
D.getDate()       // 30
D.getFullYear()   // 2020

Other episodes