strtotime(07/19/2011 00:00)

时间:2011-07-31 22:34:13

标签: php mysql timestamp

尝试转换日期&使用php函数“strtotime()”格式为“07/19/2011 00:00”的时间值。

似乎不喜欢日期时间的结构。有谁知道如何将其转换为MySQL数据库的时间戳?

$convertstart = strtotime($_POST['start']);
$start = mysql_real_escape_string($convertstart);
$convertend = strtotime($_POST['end']);
$end = mysql_real_escape_string($convertend);

谢谢!

编辑也......

当我转换今天的日期时(2011年7月31日18:35)我回到2013-12-15 17:00:00在MySQL

3 个答案:

答案 0 :(得分:2)

为什么不让MySQL为您处理它。试试MySQL的STR_TO_DATE()功能。它使用与DATE_FORMAT()函数相同的格式说明符。

试试这个:SELECT STR_TO_DATE('07/31/2011 18:35', '%m/%d/%Y %H:%i');

它应该为您提供与MySQL DATETIME字段兼容的时间戳。对我来说,它返回:2011-07-31 18:35:00

答案 1 :(得分:0)

该日期格式太模糊,无法自动解析。您需要使用例如strptime

明确地解析该格式
$p = strptime($date, '%m/%d/%Y %H:%i');
echo date('Y-m-d H:i:s', mktime($p['tm_hour'], $['tm_min'], 0, $p['tm_mon'], $p['tm_mday'], $p['tm_year']));

答案 2 :(得分:-2)

你可以使用PHP的日期函数和strotime()来创建一个有效的MySQL时间戳。

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

相关问题