时区问题 - Plesk/Codeigniter



我遇到了时区问题。我在欧洲/华沙的VPS上设置了时区(UTC + 2(,我在VPS管理系统Plesk时区中设置了欧洲/华沙的时区,当我在PHP中使用例如time((时,返回的时间不正确(-2小时(。怎么办?

在PHP的文档网站上有一个非常好的评论,因为这些信息不在文档中,但应该立即回答你的问题。

函数 time(( 始终返回与时区无关的时间戳 (=UTC(。 有关更多信息,请查看此处。

正如Sammitch已经评论的那样,您不应该依赖time()函数。有一个名为DateTime的方便类,您可以使用它。

下面举几个例子:

$objDateTime = new DateTime();
//retrieve current Timezone
echo $objDateTime->getTimezone()->getName();

如果您在此处的时区不Europe/Warsaw则有两种可能性可以更改它们:

  1. 在 PHP 中更改它.ini 你的php中有一个名为[Date]的部分.ini相应的设置称为date.timezone。 只需将其设置为date.timezone = Europe/Warsaw.

  2. 您可以向当前DateTime对象添加Timezone

这看起来像:

$objDateTime->setTimezone(new DateTimeZone('Europe/Warsaw'));
echo $objDateTime->format('d.m.Y H:i:s');

仅此而已。

相关内容

  • 没有找到相关文章

最新更新