怎么样我可以用正确的时区用PHP代码显示时间

时间:2013-01-07 14:21:58

标签: php datetime timezone

我现在需要在我的城市伊朗/德黑兰展示我的网站时间

我正在使用此代码:

 <?php echo date('H:i'); ?> 

但它没有显示正确的时间。

我的国家时区:伊朗/德黑兰

我现在的城市时间是:17:45

但在网站上它显示我:23:15

我不知道我的服务器在哪个时区?我无法改变,请帮助我。

4 个答案:

答案 0 :(得分:7)

尝试更改代码中的时区:

date_default_timezone_set('you/timezone');

答案 1 :(得分:2)

您可以使用date_default_timezone_setDateTimeZone

示例

echo date('H:i'),PHP_EOL;

date_default_timezone_set('Iran');
echo date('H:i'),PHP_EOL;

//Or

$date = new DateTime("now", new DateTimeZone("Asia/Tehran"));
echo $date->format("H:i"),PHP_EOL;

输出

14:24 
17:54
17:54

答案 2 :(得分:0)

您可以通过在网站的文档根文件夹中添加或编辑.htaccess文件并添加此行php_value date.timezone(此处为您的时区)来设置它

答案 3 :(得分:0)

有一种非常优雅的方式来解决这个问题,即:DateTimeZone::getOffset。您可以在此处找到详细的使用说明:http://php.net/manual/en/datetimezone.getoffset.php