2017-04-10 72 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!为了将来的参考,您必须在格式解析器的任何代码行之前放置一个空行来提取它们。 –