2017-04-10 128 views
1

我得到一個cookie的字符串日期,它返回像這樣的格式2017-11-16。我的日期選擇器日期格式爲D, M d, yy,例如Thu, Apr 27, 2017Jquery Datepicker從字符串設置值

如果我只是將它設置爲$("#m_checkin").datepicker().datepicker("setDate", "2017-11-16"); datepicker函數停止工作,它只是將2017-11-16設置爲輸入值。我怎樣才能將我的日期格式化爲datepicker dateformat?

https://jsfiddle.net/n6dokkty/

回答

1

您需要解析設定的日期以特定的格式之前的日期。
你可以在這裏看到:https://jsfiddle.net/r1nm5h7k/

$("#datepicker").datepicker({dateFormat: "DD, d MM, yy"}); 
$("#datepicker").datepicker("setDate", $.datepicker.parseDate("yy-mm-dd", "2017-11-16")); 

裁判:https://api.jqueryui.com/datepicker/#utility-formatDate

+0

我按照你的方式,但在這個時候,設置日期(最後一行)後功能停止工作。我在我的問題中添加了jsfiddle鏈接,以便您可以查看它。 https://jsfiddle.net/n6dokkty/ – happyman

+0

你需要包括jquery和jquery-ui才能工作。檢查 - https://jsfiddle.net/arvinddhakad/r1nm5h7k/1/ –

+0

謝謝你的幫助 – happyman

1

你可以看看momentjs,這是一個JavaScript日期/時間庫。有了這個,您可以輕鬆地在不同格式的日期之間進行轉換。

string newDate = moment(currentDate, currentFormatString).format(newFormatString)

1

你必須setDateDate對象,而不是字符串(避免日期格式的問題,如你目前面臨)。

所以你必須改變像下面的代碼:

$("#m_checkin").datepicker().datepicker("setDate", new Date(2017,11,16)); 
+0

歡迎SO!爲了將來的參考,您必須在格式解析器的任何代碼行之前放置一個空行來提取它們。 –