【发布时间】:2019-06-21 13:53:37
【问题描述】:
我尝试使用“c”或“r”格式来格式化某些日期,但结果很奇怪。
我已经在我的个人计算机上尝试了 PHP 解释器,或者使用了 php:latest Docker 映像。
一路上,我尝试了很多方法,甚至这些方法的结果都让我感到惊讶。
var_dump(DateTime::createFromFormat('c', (new DateTime())->format('c'))); // false
// or
var_dump(DateTime::createFromFormat('r', (new DateTime())->format('r'))); // false
(new DateTime())->format('c') 返回一个预期格式的字符串,但我认为从它创建一个 DateTime 对象会返回一个有效对象,而不是 false。
这是什么行为?
感谢您的帮助:)
【问题讨论】:
-
$t = new DateTime(); echo $t->format('c'); // 012345这就够了,我觉得你把事情复杂化了 -
我正在尝试检查项目中的用户输入,而不仅仅是从 void 创建一个对象。这就是我使用
DateTime::createFromFormat()来检查用户输入是否与日期格式匹配的原因。
标签: php date date-formatting php-7.3