【发布时间】:2014-07-14 03:06:29
【问题描述】:
我正在尝试用 PHP 准备一个 MySQL 查询。我的问题是 PHP 对待日期的方式与 MySQL 不同。
在 MySQL 中,“2000”是 2000 年,在 PHP 中是晚上 8 点。
$date1 = new DateTime('2000-01-01');
echo $date1->format("Y-m-d H:i:s"); // 2000-01-01 00:00:00
$date2 = new DateTime('2000-01');
echo $date2->format("Y-m-d H:i:s"); // 2000-01-01 00:00:00
// This gets 8 PM instead of the year 2000
$date3 = new DateTime('2000');
echo $date3->format("Y-m-d H:i:s"); // 2014-07-14 20:00:00
$date4 = DateTime::createFromFormat("Y-m-d H:i:s", '2000');
echo $date4->format("Y-m-d H:i:s"); // PHP Fatal error: Call to a member function format() on a non-object
我只想解析包含在日期之后的时间。
有没有办法告诉它在 PHP 中优先解析年份而不是时间?
【问题讨论】:
-
垃圾进垃圾出 (GIGO) 的经典示例