PHP DateTime::createFromFormat()对某些值失败?



我一直在用下面的代码解析日期,没有问题;

$format = "Ymdhi";
$dateobj = DateTime::createFromFormat($format, $inputDate);
echo $dateobj->getTimestamp();
//This works - returns 1613379600
$dateobj1 = DateTime::createFromFormat($format, "202102150100");
echo $dateobj1->getTimestamp()
//This fails - returns false on createFromFormat and throws a fatal error on getTimestamp
$dateobj2 = DateTime::createFromFormat($format, "202102102105");
echo $dateobj2->getTimestamp()

有人知道为什么吗?

您使用小写的h表示1-12小时,但是您使用的日期是24小时格式。您应该使用H:

$format = "YmdHi";
$dateobj2 = DateTime::createFromFormat($format, "202102102105");
echo $dateobj2->getTimestamp();

演示

最新更新