首页 > 数据库 > mysql教程 > 如何将 PHP 日期转换为 MySQL DATE 和 DATETIME 格式?

如何将 PHP 日期转换为 MySQL DATE 和 DATETIME 格式?

Linda Hamilton
发布: 2024-11-29 13:14:10
原创
769 人浏览过

How to Convert PHP Dates to MySQL DATE and DATETIME Formats?

将 PHP 日期转换为 MySQL 格式

在 PHP 中,经常会遇到代码中使用的格式的日期字段:

$date = mysql_real_escape_string($_POST['intake_date']);
登录后复制

但是,在使用MySQL时,经常需要将这个日期转换为MySQL格式“0000-00-00”用于数据库包含。虽然可能会想到 date('Y-m-d' strtotime($date);) 的一些变体,但解决此转换中涉及的特定复杂问题至关重要。

1.处理MySQL列类型

如果你的MySQL列是DATE类型,只表示日期而不表示时间,推荐的转换方法是:

$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));
登录后复制

这里替换破折号“在应用 strtotime() 函数之前,在日期字符串中使用正斜杠“/”。否则,strtotime() 将尝试减去由破折号分隔的数字,从而导致错误的结果。

2. DATETIME 类型的转换

如果您的 MySQL 列是 DATETIME 类型,其中包含日期和时间部分,请改用以下转换:

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));
登录后复制

这里,我们坚持遵循用“/”替换“-”的相同原则,但我们还包括时间组件的附加格式。

3.复杂格式的替代方法

如果您的日期格式与 strtotime() 和 date() 函数都不兼容,例如“02/07/2009 00:07:00” ,您可以选择基于正则表达式的转换:

$date = '02/07/2009 00:07:00';
$date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '-- ', $date);
登录后复制

此正则表达式将日期组件重新排列到所需的 MySQL 中格式,确保您的 PHP 日期字段经过适当转换以包含在数据库中。

以上是如何将 PHP 日期转换为 MySQL DATE 和 DATETIME 格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板