如何将 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');