2011-07-31 104 views
0

尝试使用php函数“strtotime()”将格式为“07/19/2011 00:00”的日期值转换为&时间值。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)我回来二零一三年十二月十五日17:00:00在MySQL

回答

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

+0

谢谢这就是我所需要的。不过,我不知道如何在我的PHP代码中实现该功能。有没有人有一个有用的链接。我没有太多的MySQL与XP。 –

+0

查看http://www.w3schools.com/php/php_mysql_intro.asp,了解如何使用MySQL和PHP。 –

-2

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

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

+0

原始海报提到'strtottime()'不能正常工作,因为时间戳的格式不正确。 –

+0

echo date('Y-m-d H:i:s',strtotime(“07/31/2011 18:35”));回复2011-07-31 18:35:00对我来说 – w0bni

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']));