Формат даты для MM/dd/yyyy в JavaScript

У меня есть формат даты, подобный этому '2010-10-11T00:00:00+05:30'. Мне нужно форматировать в MM/dd/yyyy с помощью JavaScript или jQuery. Кто-нибудь поможет мне сделать то же самое.

Ответ 1

Попробуй это; помните, что месяцы JavaScript индексируются 0, а дни индексируются 1.

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());

Ответ 2

Все остальные ответы не совсем решают проблему. Они печатают дату в формате мм/дд/гггг, но вопрос касался ММ/дд/гггг. Заметьте тонкую разницу? ММ указывает, что ведущий ноль должен дополнять месяц, если месяц представляет собой одну цифру, поэтому он всегда должен быть двузначным числом.

то есть, если мм/дд будет 3/31, MM/дд будет 03/31.

Я создал простую функцию для достижения этой цели. Обратите внимание, что то же самое заполнение применяется не только к месяцу, но также и к дню месяца, что фактически делает это MM/DD/yyyy:

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

Ответ 3

Передайте вашу строку в объект Date:

var d = new Date("2010-10-30T00:00:00+05:30");

отсюда вы можете извлечь желаемое, используя следующие методы:

d.getMonth()+1  // 10
d.getDate()     // 30
d.getFullYear() // 2010

Обратите внимание, что getMonth() возвращает номер месяца на основе нуля (0-11), поэтому необходим +1.

Здесь вы можете найти список других получателей: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date


Другой способ, используя .slice() и .split()

var d = "2010-10-30T00:00:00+05:30".slice(0, 10).split('-');   
d[1] +'/'+ d[2] +'/'+ d[0]; // 10/30/2010