使用 Carbon 和 Laravel 转换“Zulu”或 UTC 时间? [重复]

问题描述 投票:0回答:2

使用 API 为我提供“2022-11-02T21:00:00.0000000Z”格式的日期时间。 我正在尝试使用 Carbon 转换它并抛出错误。

$dateTime = "2022-11-02T21:00:00.0000000Z";
$dateUpdated =  Carbon::createFromFormat('Y-m-d\TH:i:s', $dateTime);

Carbon 的错误:

Error Parsing updated datetime with format Y-m-d\TH:i:s Carbon\Exceptions\InvalidFormatException: Trailing data in /usr/src/app/vendor/nesbot/carbon/src/Carbon/Traits/Creator.php:676

我正在使用 Laravel 8。

php laravel datetime php-carbon
2个回答
1
投票

尝试使用

Carbon::parse

$dateTime = "2022-11-02T21:00:00.0000000Z";
$dateUpdated =  Carbon::parse($dateTime);
echo $dateUpdated ->format('Y-m-d H:i:s');

0
投票

如果您不想使用解析(这可能会导致意外结果,因为它试图猜测您的格式),您可以像这样支持 Zulu 格式:

Carbon::createFromFormat('Y-m-d\TH:i:s.u\Z', $dateTime, 'UTC');

(但是解析也可以工作。)

© www.soinside.com 2019 - 2024. All rights reserved.