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


мне нужно взять значение даты из 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.Джей? Или что-то не так с образом я получаю дату отмечать?

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

спасибо,

4   51   2013-03-14 18:19:03

4 ответа:

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

момент.документация Яш

StartDate = moment(StartDate).format('MM-YYYY');

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

StartDate = moment(StartDate).format('YYYY-MM-DD');

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

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

var yourDate = momentObj.format('L');
.format('MM/DD/YYYY HH:mm:ss')