PHP-获取当前UTC日期时间的正确方法

PHP-获取当前UTC日期时间的正确方法,php,date,time,timezone,utc,Php,Date,Time,Timezone,Utc,我已经搜索了stack overflow、google和其他来源来寻找答案,但是,我找到的所有答案都非常不同,出现最多(两次)的答案是: $time = new DateTime('now', new DateTimeZone('UTC')); echo $time->format('F j, Y H:i:s'); 所以我的问题是,这是获取当前UTC日期/时间的最佳/正确方法吗?如果不是,是什么 谢谢 我不确定您找到的示例来自何处,但是gmdate几乎肯定是从当前时间或提供的时间戳获取正

我已经搜索了stack overflow、google和其他来源来寻找答案,但是,我找到的所有答案都非常不同,出现最多(两次)的答案是:

$time = new DateTime('now', new DateTimeZone('UTC'));
echo $time->format('F j, Y H:i:s');
所以我的问题是,这是获取当前UTC日期/时间的最佳/正确方法吗?如果不是,是什么


谢谢

我不确定您找到的示例来自何处,但是
gmdate
几乎肯定是从当前时间或提供的时间戳获取正确的GMT日期和时间的最佳方法

从:

与date()函数相同,只是返回的时间是 格林威治标准时间(GMT)

获取当前GMT日期时间的用法:

echo gmdate("Y/m/d H:i:s");
使用现有时间戳:

echo gmdate("Y/m/d H:i:s", $timestamp);
提供的日期值将自动从本地时区调整为GMT


显然,可以通过修改第一个参数将日期的格式更改为任何您想要的格式。

是的,这是获取当前UTC时间的方法之一。我建议坚持使用DateTime API,因为它提供了各种有用的功能。正如提问者特别要求的UTC,GMT对于一年中的6个月是不正确的,因为它不存在。它被BST或GMT+01:00替换。@实际上,日期的格式是GMT\UTC。格林尼治标准时间并不是指(你提到的)英国的计时标准。GMT和UTC是同一回事,英国恰好位于GMT时区内,但每年被英国夏令时移动两次。参考文档:@RichardAQuadling摘自维基百科关于GMT的文章:“英语使用者经常使用GMT作为协调世界时(UTC)的同义词。”。你说的是英国时区,而不是格林尼治标准时间。不过谢谢你的否决票。