我正在尝试将DATETIME转换为人们可以实际使用的内容。这是日期:
2013-09-05 11:52:10
我正在使用:
date("D, d M Y", '2013-09-05 11:52:10');
正在转变为:
Thu, 01 Jan 1970
对我来说毫无意义。
在将日期传递给date()之前,需要将日期转换为时间戳
$time = strtotime('2013-09-05 11:52:10');
echo date("D, d M Y", $time);
这应该是PHP代码吗?如果是,正确的是
date("D, d M Y", strtotime('2013-09-05 11:52:10'));
如果这与MySql有关,那么要使用的正确函数是DATE_FORMAT
(但是,您所拥有的是无效的MySql语法)。请澄清。
PHP的date()
函数只能处理整数时间戳值;它不能处理字符串作为输入。
如果你需要从一种字符串日期格式转换为另一种,你应该使用DateTime::CreateFromFormat()
方法:
$dateObj = DateTime::CreateFromFormat($inputString);
$outputString = $dateObj->Format('D, d M Y');
但是,我建议您使用MySQL的UNIX_TIMESTAMP()
函数编写查询,将日期作为PHP的date()
函数可以处理的数字时间戳输入PHP:
MySQL:
SELECT UNIX_TIMESTAMP(yourDateField) as yourDateField_timestamp FROM yourTable ...
然后你就可以随心所欲地编写PHP了:
PHP:
$dateObj = date('D, d M Y', $row['yourDateField_timestamp']);