2013-03-14 40 views
46

我需要從jquery datepicker獲取日期值將其轉換爲字符串格式「MM/dd/yyyy」,以便它可以執行正確的ajax post。當頁面加載或更改日期選擇器時,會調用jquery ajax調用。使用moment.js將日期轉換爲字符串「MM/dd/yyyy」

我有這樣的代碼:

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

但它並不把它變成 「MM/DD/YYYY」。當我使用Fiddler檢查什麼是唐氏線路發送,這是身體:

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

如果我使用小提琴手撰寫並更改身體:

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

我得到正確的響應。所以,我的問題是,有沒有辦法使用moment.js來獲取日期對象並將其格式化爲字符串「MM/dd/yyyy」?或者,從datepicker獲取日期的方式有什麼問題嗎?

順便說一句,我假設datepicker.getDate返回一個日期對象,因爲這是jQuery文檔告訴我。

謝謝

回答

5

試試這個:

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

var yourDate = momentObj.format('L'); 
46
StartDate = moment(StartDate).format('MM-YYYY'); 

...和MySQL日期格式:

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

MySQL的日期格式(YYYY-MM-DD),也是字母數字它可以用於文件名排序文件,其清晰和人性化的可讀性(不像dd/mm和mm/dd那樣混亂),ISO 8601和幾乎唯一的理智格式。 「01/02/2016」只是...「什麼?你來自哪裏?他們在那裏使用什麼日期格式?」 ;) – 2016-02-11 12:11:49