jQuery UI的“datepicker”模块日期不能保存到MySQL

时间:2011-04-07 08:05:07

标签: php jquery mysql jquery-ui date

我将Datepicker返回的日期格式设为(yy-mm-dd),将字符串返回为2011-04-22。

当我想在数据类型为DATE的列中的MySQL表中插入它时,我保存了以下内容。通过SO浏览,我找到了关于FROM_UNIXTIME的建议,但这给了我1970-01-01的日期。

任何帮助?

4 个答案:

答案 0 :(得分:15)

您可以尝试使用datepicker

中的dateFormat选项
$('#date-picker').datepicker({
    dateFormat : 'yy-mm-dd'
});

如果要在视图中提供自定义格式,则可能需要在插入数据库之前将日期转换为mysql格式。 `

$insertDate  = date("Y-m-d",strtotime($date))` 

答案 1 :(得分:1)

您需要验证数据类型是否设置为MySQL DATE字段(而不是DATETIME字段,需要时间格式为“yyyy-mm-dd hh:mm:ss”)

此外,MySQL DATE数据类型正在查找一个4位数年份字段,其中您有一个2位数的字段,因此请确保将日期选择器输出为yyyy-mm-dd。

$.datepicker.formatDate('yyyy-mm-dd');

此外,如果您尝试使用unix时间戳,请不要忘记Javascript中的Unix时间戳包括毫秒,在PHP / MySQL中,它们被截断为秒。因此,如果您在MySQL中使用FROM_UNIXTIME(时间),请确保将时间戳除以1000.

答案 2 :(得分:0)

Jquery UI datepicker还有一个本机解析方法,可用于将字符串更改为日期。字符串需要正确格式化才能使其正常工作。

$.datepicker.parseDate( "yy-mm-dd", "2007-01-26" );

答案 3 :(得分:0)

下载文件jquery-ui.js的方法更为简单

http://code.jquery.com/ui/1.10.4/jquery-ui.js

转到第3041行

dateFormat: "mm/dd/yy",

将其更改为您想要的结果,即yy / mm / dd及其完成

dateFormat: "yy/mm/dd/",