Carbon PHP 用点符号解析日期时间

Carbon PHP parse datetime with dot notation

我正在使用 Carbon 2,我的应用程序中有一些奇怪的日期,这些日期是第三方 api 给我的,理想情况下它们总是在 YYYY-MM-DD 格式,但有一些采用以下格式:YYYY.MM.DD.

如何使用 Carbon::parse() 或 PHP 将字符串可靠地转换为连字符,然后在采用该格式时对其进行解析?

示例:

echo Carbon::parse('2022.07.24 10:34:05');

这是无效的。

也许我只是寻找点并更改为连字符并尝试重新解析?

the documentation所述:

$date = Carbon::createFromFormat('Y.m.d H:i:s', '2022.07.24 10:34:05');

在您的情况下,您可以在 parse():

之前规范化字符串
$str = '2022.07.24 10:34:05'; // or '2022-07-24 10:34:05'
echo Carbon::parse(strtr($str, ['.' => '-']));