gpt4 book ai didi

php - 将字符串解析为 DateTime 时出错

转载 作者:行者123 更新时间:2023-12-02 07:33:32 28 4
gpt4 key购买 nike

我以前使用 DateTime::createFromFormat() 将字符串解析为日期,但今天我发现了一个问题,我从这个调用中得到了 null。

echo $date_string;
$test = DateTime::createFromFormat('M d Y, H:i:s T', trim($date_string));
echo $test->format('Y-m-d H:i:s');

输出:

Oct 16 2013, 15:45:02 CEST

( ! ) Fatal error: Call to a member function format() on a non-object in (...) on line 51

第 51 行是我调用 format() 的最后一行。

那么,我是不是漏掉了什么?提前致谢!


DateTime::getLastErrors() 请求的输出:

(
[warning_count] => 0
[warnings] => Array
(
)

[error_count] => 4
[errors] => Array
(
[3] => Unexpected data found.
[11] => Unexpected data found.
[22] => Unexpected data found.
[36] => The timezone could not be found in the database
)

)

捕获,由 @whizzzkid 请求:

DateTime::__construct(): Failed to parse time string (Oct 16 2013, 10:00:00 CEST) at position 3 (&): Unexpected character

最佳答案

您的字符串包含 UTF 不间断空格而不是普通空格。日期解析器不知道它们并且不会将它们视为空白。将不间断空格替换为普通空格,例如:

$date_string = preg_replace('~\x{00a0}~u', ' ', $date_string);

关于php - 将字符串解析为 DateTime 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338621/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com