[英]Trouble with timezone - 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
您有两种可能来更改它们:
在您的 php.ini 中更改它在您的 php.ini 中有一个名为[Date]
的部分,相应的设置称为date.timezone
。 只需将其设置为date.timezone = Europe/Warsaw
。
您可以向当前的DateTime
对象添加Timezone
。
这看起来像:
$objDateTime->setTimezone(new DateTimeZone('Europe/Warsaw'));
echo $objDateTime->format('d.m.Y H:i:s');
就是这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.