PHP MySQL 日期格式问题
使用指定格式的 jQuery 日期选择器时(例如,“08/25/2012”),将所选日期作为日期值插入 MySQL 数据库可能会导致错误并显示默认值改为“0000-00-00 00:00:00”。
原因:
根据 MySQL 的文档,MySQL 识别特定格式的日期值,包括 'YYYY -MM-DD' 或 'YY-MM-DD'。 MySQL 无法直接识别 jQuery 日期选择器使用的格式('08/25/2012')。
解决方案:
有多种方法可以解决此问题问题:
1。使用 AltField 转换格式:
使用“altField”和“altFormat”选项配置日期选择器以提供受支持格式的日期。这将创建一个隐藏字段,其中包含所需格式的日期。
2.使用MySQL的STR_TO_DATE()函数:
该函数可以将接收到的字符串转换为有效的MySQL日期值。使用方法如下:
INSERT INTO user_date VALUES('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
3.将日期转换为 PHP DateTime 对象:
使用 PHP 的 DateTime 对象将接收到的字符串转换为 PHP 可以理解的日期格式。
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
4.手动操作字符串:
如果上述选项均不起作用,您可以手动将接收到的字符串操作为有效的 MySQL 日期文字。
$parts = explode('/', $_POST['date']); $date = "$parts[2]-$parts[0]-$parts[1]";
警告:
以上是使用 jQuery Datepicker 时如何解决 PHP 和 MySQL 日期格式不兼容问题?的详细内容。更多信息请关注PHP中文网其他相关文章!