Использование moment.js для преобразования даты в строку «MM / dd / yyyy»

89

Мне нужно взять значение даты из jquery datepicker, превратить его в строковый формат «MM / dd / yyyy», чтобы он мог делать правильную запись ajax. Когда страница загружается или при изменении datepicker, выполняется вызов jquery ajax.

У меня есть такой код:

var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");

Но это не превращает его в «ММ / дд / гггг». Когда я использую fiddler для проверки того, что отправляется по сети, это тело:

startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0

Если я использую compose в fiddler и меняю тело на:

startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0

Я получаю правильный ответ. Итак, у меня вопрос: есть ли способ взять объект даты и отформатировать его в строку «MM / dd / yyyy» с помощью moment.js? Или что-то не так с тем, как я получаю дату из datepicker?

Кстати, я предполагаю, что datepicker.getDate возвращает объект даты, поскольку это то, что мне говорят документы jQuery.

Спасибо,

окисабени
источник

Ответы:

71

Я думаю, у вас просто неправильный регистр в строке формата. Согласно документации, это должно сработать для вас:MM/DD/YYYY

документация moment.js

Робби
источник
115
StartDate = moment(StartDate).format('MM-YYYY');

... и формат даты MySQL:

StartDate = moment(StartDate).format('YYYY-MM-DD');
NXT
источник
2
Формат даты MySQL (ГГГГ-ММ-ДД) также можно сортировать по алфавиту, его можно использовать в именах файлов для сортировки файлов, он понятен и удобочитаем (не сбивает с толку, как дд / мм и мм / дд), ISO 8601 и в значительной степени только вменяемый формат. «01/02/2016» - это просто ... «Что? Ты откуда? Какой формат даты там используется?» ;)
Тедд Хансен
8

Попробуй это:

var momentObj = $("#start_ts").datepicker("getDate");

var yourDate = momentObj.format('L');
Джек
источник
7

Использование:

date.format ("ММ / ДД / ГГГГ") или date.format ("ММ-ДД-ГГГГ")}

Другие поддерживаемые форматы для справки:

Месяцы:

П 1 2 ... 11 12

Пн 1-е 2-е ... 11-е 12-е

ММ 01 02 ... 11 12

МММ Янв Фев ... Ноябрь Дек

ММММ январь февраль ... ноябрь декабрь

День:

г 0 1 ... 5 6

сделать 0-й 1-й ... 5-й 6-й

дд вс пн ... пт сб

ддд вс пн ... пт сб

дддд воскресенье понедельник ... пятница суббота

Год:

YY 70 71 ... 29 30

ГГГГ 1970 1971 ... 2029 2030

Г 1970 1971 ... 9999 +10000 +10001

Хитеш Саху
источник