在PHP中使用Date函数更改时区


Changing timezones with Date function in PHP

我试图分配一个变量与时区信息,将改变信息保存在数据库中的时间。

这是我的代码不能工作:

<?php 
$timeZone = "- 3600";
$date = date('His', time() $timeZone);
echo $date;
?>

但是当我这样做的时候,它工作了…

<?php 
$date = date('His', time() - 3600);
echo $date;
?>

为什么变量不能在那里工作?

语法无效。

$timeZone改为整数,并添加到time()中。
$timeZone = -3600;
$date = date('His', time() + $timeZone);
echo $date;

查看演示

如果你想转换为另一个时区,有一种正确的方法:UTC日期/时间字符串到时区

您不能在字符串中嵌入二进制操作符并期望它们执行。您需要这样做:

<?php 
$timeZone = -3600;
$date = date('His', time() + $timeZone);
echo $date;
?>