yyyy-MM-dd HH:mm:ss如何转换成yyyy-MM-ddTHH:mm:ssZ?

How to convert yyyy-MM-dd HH:mm:ss to yyyy-MM-ddTHH:mm:ssZ?

我需要将日期时间发送到 API。

我正在尝试这样做,但它不起作用。

$startDate = DateTime::createFromFormat('yyyy-MM-dd\THH:mm:ssZ', '2014-06-13 14:30:00');

不幸的是,我得到了 2014-06-13T13:30:00.000Z,而我需要它采用这种格式:yyyy-MM-ddTHH:mm:ssZ

我不确定我哪里出错了。如有任何帮助或建议,我们将不胜感激!

您正在尝试同时转换和读取日期,这不是 DateTime::createFromFormat() 的工作方式。事实上,您根本不需要该方法,因为 DateTime 支持您的开始日期格式。

只需将日期作为参数传递给 DateTime(),然后相应地设置格式。 (如评论中所述,请确保您的日期为 UTC)。

echo (new DateTime('2014-06-13 14:30:00'))->format('Y-m-d\TH:i:s\Z');