Ответ 1
Я думаю, что у вас есть неправильная оболочка в строке формата. Согласно документации, это должно сработать для вас: MM/DD/YYYY
Мне нужно принять значение даты из jquery datepicker, превратив его в строковый формат "MM/dd/yyyy" , чтобы он мог сделать правильный пост ajax. Когда страница загружается или при изменении datepicker выполняется вызов jQuery ajax.
У меня есть этот код:
var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");
Но он не превращает его в "MM/dd/yyyy" . Когда я использую скрипач, чтобы проверить, что отправлено по проводу, это тело:
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?
Btw, я предполагаю, что datepicker.getDate возвращает объект даты, так как это сообщает мне документы jQuery.
Спасибо,
Я думаю, что у вас есть неправильная оболочка в строке формата. Согласно документации, это должно сработать для вас: 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')
Использование:
date.format("ММ/ДД/ГГГГ") или date.format("ММ-ДД-ГГГГ")}
Другие поддерживаемые форматы для справки:
М 1 2... 11 12
Мо 1-й 2-й... 11-й 12-й
ММ 01 02... 11 12
МММ янв фев... ноя дек
ММММ январь февраль... ноябрь декабрь
д 0 1... 5 6
сделать 0-й 1-й... 5-й 6-й
дд су мо... пт сб
пдд вс пн... пт сб
dddd воскресенье понедельник... пятница суббота
YY 70 71... 29 30
ГГГГ 1970 1971... 2029 2030
Y 1970 1971... 9999 +10000 +10001