如何将日期时间转换为 2021-05-24T04:44:56+00:00 格式?

How to convert datetime in 2021-05-24T04:44:56+00:00 format?

在向 mailchimp 发出请求的 laravel 8 应用程序中,我收到格式为

的字符串数据时间
2021-05-24T04:44:56+00:00

这是什么格式?我可以手动解析它,但是有更好的方法来转换它吗 碳(或其他工具)?

谢谢

这似乎是本地时间字符串表示。您可以 'nicely format' 使用 carbon:

很容易
Carbon::parse('2021-05-24T04:44:56+00:00')->toDateTimeString();

以上将输出:

2021-05-24 04:44:56

还有许多其他可用的格式化程序,或者您可以定义自己的格式化程序。

您可以使用 Carbon:

格式化您的时间字符串
$date = Carbon\Carbon::parse('2021-05-24T04:44:56+00:00')->toDateTimeString();

Output: "2021-05-24 04:44:56"

并且还使用 strtotime:

echo date("Y-m-d H:i:s", strtotime("2021-05-24T04:44:56+00:00")) . "\n";

这是 ISO-8601 格式 https://en.wikipedia.org/wiki/ISO_8601 它实际上很常见。这同样适用于大多数语言。 PHP的原生DateTimeclass支持:

$moment = new DateTime('2021-05-24T04:44:56+00:00');

Carbon 也是如此(以及所有其他 PHP 东西,例如 strtotime 和日期时间相关的库):

$moment = new Carbon('2021-05-24T04:44:56+00:00');
$moment = Carbon::parse('2021-05-24T04:44:56+00:00');

您可以使用 c 格式

将其简单地转换为 carbon 实例
\Carbon\Carbon::createFromFormat('c','2021-05-24T04:44:56+00:00');

如果您想将任何 carbon 实例转换为 ISO 8601,您可以使用

\Carbon\Carbon::now()->format('c');