Подтвердить что ты не робот

Jquery/javascript конвертировать дату строки на сегодняшний день

У меня есть строка даты "Sunday, February 28, 2010", которую я хотел бы преобразовать в объект даты js, отформатированный @MM/DD/YYYY, но не знаю, как это сделать. Какие-либо предложения?

4b9b3361

Ответ 1

Я бы взял date.js, иначе вам нужно будет свернуть свою собственную функцию форматирования.

Ответ 2

Если вы работаете с jQuery, вы можете использовать функцию parseDate библиотеки datepicker UI для преобразования вашей строки в дату:

var d = $.datepicker.parseDate("DD, MM dd, yy",  "Sunday, February 28, 2010");

а затем выполните его с помощью метода formatDate, чтобы получить его в нужный формат строки

var datestrInNewFormat = $.datepicker.formatDate( "mm/dd/yy", d);

Если вы не работаете с jQuery, конечно, это, вероятно, не лучший план, так как вам понадобится ядро ​​jQuery, а также модуль пользовательского интерфейса datepicker... лучше всего пойти с предложением Segfault выше, чтобы использовать date.js.

НТН

Ответ 3

var stringDate = "Sunday, February 28, 2010";

var months = ["January", "February", "March"]; // You add the rest  :-)

var m = /(\w+) (\d+), (\d+)/.exec(stringDate);

var date = new Date(+m[3], months.indexOf(m[1]), +m[2]);

Метод indexOf на массивах поддерживается только в новых браузерах (т.е. не в IE). Вам нужно будет выполнить поиск самостоятельно или использовать одну из многих библиотек, которые обеспечивают ту же функциональность.

Также в коде отсутствует проверка ошибок, которая должна быть добавлена. (Строка, не соответствующая регулярному выражению, не существующим месяцам и т.д.)

Ответ 4

Если вам это нужно только один раз, он перегружает загрузку плагина.

Для даты "dd/mm/yyyy" это работает для меня:

new Date(d.date.substring(6, 10),d.date.substring(3, 5)-1,d.date.substring(0, 2));

Просто инвертируйте месяц и день для mm/dd/yyyy, синтаксис new Date(y,m,d)

Ответ 5

Я использовал функцию javascript funtion toLocaleDateString, чтобы получить

var Today = new Date();
var r = Today.toLocaleDateString();

Результат r будет

11/29/2016

Дополнительная информация: http://www.w3schools.com/jsref/jsref_tolocaledatestring.asp

Ответ 6

Используйте момент js для любой операции с датой.

https://momentjs.com/

console.log(moment("Sunday, February 28, 2010").format('MM/DD/YYYY'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>