Usando moment.js para converter data em string “MM / dd / aaaa”

87

Eu preciso pegar o valor de data do jquery datepicker e transformá-lo no formato de string "MM / dd / aaaa" para que ele possa fazer o post ajax certo. Quando a página carrega ou ao alterar o selecionador de data, uma chamada jquery ajax é feita.

Eu tenho este código:

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

Mas não o transforma em "MM / dd / aaaa". Quando eu uso o fiddler para verificar o que é enviado pelo fio, este é o corpo:

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

Se eu usar a composição no fiddler e alterar o corpo para:

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

Eu recebo a resposta certa. Então, minha pergunta é, há uma maneira de pegar um objeto de data e formatá-lo para uma string "MM / dd / aaaa" usando moment.js? Ou há algo errado com a maneira como obtenho a data do selecionador de data?

A propósito, estou assumindo que datepicker.getDate retorna um objeto de data, já que é isso que os documentos do jQuery me dizem.

Obrigado,

okysabeni
fonte

Respostas:

69

Acho que você apenas tem maiúsculas e minúsculas incorretas na string de formato. De acordo com a documentação, isso deve funcionar para você:MM/DD/YYYY

documentação moment.js

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

... e formato de data MySQL:

StartDate = moment(StartDate).format('YYYY-MM-DD');
NXT
fonte
2
O formato de data do MySQL (AAAA-MM-DD) também é alfanumericamente classificável, ele pode ser usado em nomes de arquivos para classificar arquivos, é claro e legível (não confuso como dd / mm e mm / dd é), ISO 8601 e praticamente o apenas formato lógico. "01/02/2016" é apenas ... "O quê? De onde você é? Que formato de data eles usam lá?" ;)
Tedd Hansen
8

Experimente isto:

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

var yourDate = momentObj.format('L');
Jack
fonte
7

Usar:

date.format ("MM / DD / AAAA") ou date.format ("MM-DD-AAAA")}

Outros formatos suportados para referência:

Meses:

M 1 2 ... 11 12

Mo 1º 2º ... 11 12

MM 01 02 ... 11 12

MMM Jan Fev ... Nov Dez

MMMM janeiro fevereiro ... novembro dezembro

Dia:

d 0 1 ... 5 6

faça 0º 1 ... 5º 6º

dd Su Mo ... Fr Sa

ddd Dom Seg ... Sex Sab

dddd Domingo Segunda ... Sexta Sábado

Ano:

YY 70 71 ... 29 30

AAAA 1970 1971 ... 2029 2030

Y 1970 1971 ... 9999 +10000 +10001

Hitesh Sahu
fonte
5
.format('MM/DD/YYYY HH:mm:ss')
Purva
fonte