使用PHP将自定义日期格式解析为内部MYSQL格式

时间:2010-05-16 04:48:19

标签: php mysql

我已经生成了日期,看起来像这些:

Sun May 16 23:59:59 GMT 2011

我想将它们转换为可存储的MYSQL格式,以便我可以通过php读取/比较它们。我正在使用PHP。我如何将上述内容转换为MYSQL能理解的内容?

2 个答案:

答案 0 :(得分:2)

# make an array
$bits = preg_split('/\s/', 'Sun May 16 23:59:59 GMT 2011');

# YYYY-MM-DD HH:mm:SS is mySQL datetime format
$mysql_datetime = date('Y-m-d H:i:s', strtotime("$bits[1] $bits[2] $bits[5] $bits[3]"));
echo $mysql_datetime;

这会解析您的日期格式并将其转换为正确的mysql日期时间格式。

答案 1 :(得分:0)

PHP的内部strtotime函数会将日期解析为unix时间戳。从那里,您可以只存储时间戳,或使用快速PHP function将其转换为MySQL可以存储的日期对象。

或者您可以使用MySQL的FROM_UNIXTIME函数来获取日期格式。

注意:strtotime可能无法完全符合您的自定义格式。您可能必须自己手动编辑字符串以获得适用于PHP解析功能的格式,然后您可以按照列出的步骤进行操作。