Carbon 解析为 ISO8601

新手上路,请多包涵

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

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

但是当我尝试时:

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

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

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

原文由 Aladin Small 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

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

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

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

原文由 Devon 发布,翻译遵循 CC BY-SA 4.0 许可协议

Carbon::now()->toISOString()

这将返回 “2020-05-12T13:13:42.817684Z”

 Carbon::now()->toIso8601String()

这将返回 “2020-05-12T13:15:32+00:00”

使用 corePHP

 date(DateTime::ATOM, time())

这将返回 “2021-08-22T15:26:48+10:00”

原文由 Rana Nadeem 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏