当只调用此行时:
<?php echo date("Y-m-d H:i:s"); ?>
它使用本地服务器时区返回日期/时间。 (假设php.ini中没有指定任何内容,之前没有调用date_default_timezone_set)。这就是我想要的。
现在让我们假设我正在编写一个PHP插件到CMS,并且这个CMS重新定义了默认时区:
<?php
// CMS code by a third-party
// ...
date_default_timezone_set('UTC');
// ...
// CMS code
// MY PLUGIN
echo date("Y-m-d H:i:s");
// MY PLUGIN
在最后一行,date(...)
受到之前date_default_timezone_set
电话的影响(来自CMS代码)。
问题:如何在调用date_default_timezone_set('UTC')
之后获取本地服务器时区的日期/时间?和如果没有硬编码服务器时区,就像这样$dt = new DateTime("now", new DateTimeZone('Europe/Paris'));