Jquery datepickerから日付値を取得して、適切なajaxポストを実行できるように文字列形式「MM/dd/yyyy」に変換する必要があります。ページがロードされるか、日付ピッカーを変更すると、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
Fiddlerで構成を使用し、ボディを次のように変更した場合:
startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0
正しい応答が得られます。だから、私の質問は、moment.jsを使用して日付オブジェクトを取得し、文字列「MM/dd/yyyy」にフォーマットする方法はありますか?または、datepickerから日付を取得する方法に何か問題がありますか?
ところで、私は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( "MM/DD/YYYY")またはdate.format( "MM-DD-YYYY")}
参照用にサポートされているその他の形式:
M 1 2 ... 11 12
Mo 1番目2番目... 11番目12番目
MM 01 02 ... 11 12
MMM 1月2月... 11月12月
MMMM 1月2月... 11月12月
d 0 1 ... 5 6
do 0th 1st ... 5th 6th
dd Su Mo ... Fr Sa
ddd Sun Mon ... Fri Sat
dddd月曜日の日曜日...金曜日の土曜日
YY 70 71 ... 29 30
YYYY 1970 1971 ... 2029 2030
Y 1970 1971 ... 9999 +10000 +10001