如何在 PHP 中将日期时间转换为 ISO 8601

新手上路,请多包涵

如何将时间从 2010-12-30 23:21:46 转换为 ISO 8601 日期格式? (-_-;)

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

阅读 1.5k
2 个回答

面向对象

这是推荐的方式。

 $datetime = new DateTime('2010-12-30 23:21:46');

echo $datetime->format(DateTime::ATOM); // Updated ISO8601


程序

对于较旧版本的 PHP,或者如果您更喜欢程序代码。

 echo date(DATE_ISO8601, strtotime('2010-12-30 23:21:46'));

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

$datetime->format('Y-m-d\TH:i:s.u\Z') 应该给出正确的格式,带有“T”分隔符、“Z”时区(确保首先转换为 UTC)和微秒(省略 .u 如果你不打算支持小数秒)。

请参阅 https://stackoverflow.com/a/9532375/65387 讨论为什么应该使用 T

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

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