如何格式化UTC日期以使用php中的Z(祖鲁语)区域指示符?

2022-08-30 09:09:06

我需要以下列格式显示和处理 UTC 日期:

2013-07-30T10:15:00Z

由于此格式是ISO8601标准的一部分,因此我从上面的字符串创建DateTime对象时没有问题。但是,我找不到一种干净的方式(意味着没有字符串操作,如substr和replace等)以所需的格式呈现我的DateTime对象。我试图调整服务器和php日期时间设置,但收效甚微。我总是得到:

$date->format(DateTime::ISO8601); // gives 2013-06-28T22:15:00+00:00

是否有任何日期格式或配置设置可以为我提供所需的字符串?或者我必须手动将“Z”附加到自定义时间格式?


答案 1

否,所需格式没有特殊常量。我会使用:

$date->format('Y-m-d\TH:i:s\Z');

但是,您必须确保使用的时间确实是 UTC,以避免应用程序中出现解释错误。


答案 2

如果您使用的是碳,那么方法是:

echo $dt->toIso8601ZuluString();    
// 2019-02-01T03:45:27Z

推荐