PHP DateTime解析时间而不是日期

我正在尝试在PHP中准备一个MySQL查询。我的问题是PHP与MySQL对待日期的方式不同。

在MySQL中,“ 2000”是2000年,在PHP中是8 PM。

$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中优先考虑一年中的解析时间?

插口

DateTime如果只经过一年,就不能期望以特定的格式解析日期。

但是,您可以通过将感叹号作为格式的一部分来清除所有其他日期字段:

$date = DateTime::createFromFormat('!Y', '2000');
echo $date->format('r'); // Sat, 01 Jan 2000 00:00:00: +0000

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用PHP解析日期时间

来自分类Dev

在使用PHP的MySQL中添加时间和日期到datetime?

来自分类Dev

仅从datetime中提取日期以计算PHP中的总时间

来自分类Dev

PHP DateTime,解析字符串日期失败

来自分类Dev

在jQuery DatePicker中解析PHP日期和时间

来自分类Dev

PHP日期时间格式

来自分类Dev

PHP日期时间戳

来自分类Dev

PHP 日期时间安全

来自分类Dev

php datetime createformat解析

来自分类Dev

PHP解析德国日期

来自分类Dev

在 PHP 中解析日期

来自分类Dev

php artisan默认created_at列为NULL而不是当前日期时间

来自分类Dev

如何使用php在数据库的DateTime列类型中插入日期时间对象

来自分类Dev

如何使用DateTime :: createFromFormat在PHP中计算日期/时间之间的分钟数?

来自分类Dev

PHP将Datetime对象与当前日期时间进行比较,并找到较小的对象

来自分类Dev

使用php在输入类型“datetime”中预设当前日期和时间

来自分类Dev

PHP DateTime时间间隔错误

来自分类Dev

从 PHP 中的 DateTime 添加时间

来自分类Dev

在PHP中解析带有时区的日期时间字符串

来自分类Dev

英国的PHP日期时间格式

来自分类Dev

PHP脚本中的日期时间

来自分类Dev

PHP日期和时间警告

来自分类Dev

PHP中的日期时间格式

来自分类Dev

PHP中的日期/时间验证

来自分类Dev

英国的PHP日期时间格式

来自分类Dev

如何设置日期时间PHP?

来自分类Dev

PHP转换日期时间格式

来自分类Dev

日期时间破坏代码 PHP

来自分类Dev

PHP - 日期和时间的差异