Carbon 解析为 ISO8601

Carbon parse to ISO8601

我正在尝试获取当前时间并将其格式化为:

"2018-09-26T21:40:29+02:00"

但是当我尝试时:

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

据我所知,将 c 传递给格式化函数会将其解析为 iso8601,但显然并非如此。

关于如何将当前时间解析为 ISO8601 OR 20181001T094006Z

的任何帮助

没有单一的 8601 格式。 8601定义了各种可接受的格式,其中PHP的c代表了最常见的格式之一。

您想要的特定 8601 格式没有单个字符,但 Ymd\THis\Z 格式应该可以。 TZ 是文字,所以用反斜杠转义它们以避免它们在格式字符串中被解释。请确保此特定格式仅使用 UTC 时间戳。

http://php.net/manual/en/function.date.php 列出所有可接受的格式字符。

echo Carbon::now()->toIso8601String();
Carbon::now()->toISOString()

这将 return "2020-05-12T13:13:42.817684Z"

Carbon::now()->toIso8601String()

这将 return "2020-05-12T13:15:32+00:00"

使用 corePHP

date(DateTime::ATOM, time())

这将 return "2021-08-22T15:26:48+10:00"