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