我将Datepicker返回的日期格式设为(yy-mm-dd),将字符串返回为2011-04-22。
当我想在数据类型为DATE的列中的MySQL表中插入它时,我保存了以下内容。通过SO浏览,我找到了关于FROM_UNIXTIME的建议,但这给了我1970-01-01的日期。
任何帮助?
答案 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/",