一尘不染

将php日期转换为mysql格式

mysql

我在使用此代码的php中有一个日期字段:

$date = mysql_real_escape_string($_POST['intake_date']);

我如何将其转换为MySql格式的Registry,以便包含在db中。它是否遵循以下格式:date(’Ymd’strtotime($
date);.我问的原因是因为我尝试了此方法的变体,但似乎无法正常工作。显示为1970还是其他变体对此非常感谢


阅读 268

收藏
2020-05-17

共1个答案

一尘不染

$date = mysql_real_escape_string($_POST['intake_date']);

1.如果您的MySQL列为DATE

$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));

2.如果您的MySQL列为DATETIME

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));

您无需工作strototime(),因为它不适用于破折号-,它将尝试进行减法运算。


Update ,您不能使用日期格式strtotime(),请改用以下代码:

$date = '02/07/2009 00:07:00';
$date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '$3-$2-$1 $4', $date);
echo $date;

输出:

2009-07-02 00:07:00
2020-05-17