繁体   English   中英

时区问题 - Plesk/Codeigniter

[英]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您有两种可能来更改它们:

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

  2. 您可以向当前的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM