Jquery Datepicker从字符串设置值

时间:2017-04-10 15:25:15

标签: javascript jquery jquery-ui-datepicker

我从cookie获取字符串日期,返回格式为2017-11-16。我的datepicker dateformat是D, M d, yy,例如Thu, Apr 27, 2017

如果我将其设置为$("#m_checkin").datepicker().datepicker("setDate", "2017-11-16");,则datepicker函数停止工作,并将2017-11-16设置为输入值。如何将日期格式化为datepicker dateformat?

https://jsfiddle.net/n6dokkty/

3 个答案:

答案 0 :(得分:2)

您需要在设定日期之前将日期解析为特定格式 你可以在这里看到: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

答案 1 :(得分:1)

您可以查看momentjs,这是一个javascript日期/时间库。有了它,您可以轻松地在不同格式的日期之间进行转换。

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

答案 2 :(得分:1)

您必须setDate使用Date对象而不是字符串(以避免像您当前面对的日期格式问题)。

所以你必须改变你的代码,如下所示:

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