我已经搜索了堆栈溢出和谷歌和其他来源来寻找这个答案,但是,我找到的所有答案都非常不同,出现最多(两次)的答案是这个:
$time = new DateTime('now', new DateTimeZone('UTC'));
echo $time->format('F j, Y H:i:s');
所以我的问题是,这是获取当前 UTC 日期/时间的最佳/正确方法吗,如果不是,是什么?
谢谢!
我不确定您找到的示例来自哪里,但几乎可以肯定gmdate
是从当前时间或提供的时间戳中获取正确 GMT 日期和时间的最佳方式。
从 PHP 文档中:
与 date() 函数相同,只是返回的时间是 格林威治标准时间(GMT)。
获取当前 GMT 日期时间的用法:
echo gmdate("Y/m/d H:i:s");
现有时间戳的用法:
echo gmdate("Y/m/d H:i:s", $timestamp);
提供的日期值会自动从本地时区调整为 GMT。
显然,可以通过修改第一个参数将日期的格式更改为您想要的任何格式。