我有从Datepicker返回的日期格式为(yy-mm-dd),它将字符串返回为2011-04-22。jQuery UI的“日期选择器”模块日期不能保存到MySQL
当我想将它插入到数据类型为DATE的列中的MySQL表中时,我得到了保存的0000-00-00。浏览SO,我发现了关于FROM_UNIXTIME的建议,但是这给了我1970-01-01的日期。
任何帮助?
我有从Datepicker返回的日期格式为(yy-mm-dd),它将字符串返回为2011-04-22。jQuery UI的“日期选择器”模块日期不能保存到MySQL
当我想将它插入到数据类型为DATE的列中的MySQL表中时,我得到了保存的0000-00-00。浏览SO,我发现了关于FROM_UNIXTIME的建议,但是这给了我1970-01-01的日期。
任何帮助?
划分时间戳您可以用dateformat选项尝试日期选择器
$('#date-picker').datepicker({
dateFormat : 'yy-mm-dd'
});
如果你想给自定义格式的观点,在插入数据库之前,您可能需要将日期转换为mysql格式。 `
$insertDate = date("Y-m-d",strtotime($date))`
您需要验证数据类型是设置为一个MySQL DATE字段(而不是需要格式化,如“YYYY-MM-DD HH:MM:SS”的时间的日期时间字段)
另外, MySQL DATE数据类型正在寻找一个4位数字的年份字段,您需要有一个2位数的字段,因此请确保您的日期选择器输出为yyyy-mm-dd。
$.datepicker.formatDate('yyyy-mm-dd');
而且,如果你试图让这与UNIX时间戳去,不要忘了Unix的时间戳Javascript中包括凡在PHP/MySQL的,他们将被截断,以秒毫秒。所以,如果你在MySQL中使用FROM_UNIXTIME(时间),请确保您通过1000
的jQuery UI的日期选择器还拥有可以用来改变字符串成日期本地解析方法。字符串需要正确格式化才能使其正常工作。
$.datepicker.parseDate("yy-mm-dd", "2007-01-26");
还有一个更简单的方法从
http://code.jquery.com/ui/1.10.4/jquery-ui.js
去下载文件jQuery的ui.js排队3041
dateFormat: "mm/dd/yy",
将其更改为你想要的结果,即YY/mm/dd及其完成
dateFormat: "yy/mm/dd/",
你可以发布你的代码建立你的查询吗? – Headshota 2011-04-07 08:08:16
1970-01-01是UNIXTIME允许的最早时间,它基本上等同于0000-00-00。您只需确保输出的字符串的格式与MYSQL中的日期格式相匹配 – 2011-04-07 08:36:30
不正确。您可以使用负面的时间戳数字来获取早于1970-01-01的Unix Epoch的日期 – Hal 2011-04-07 08:44:40