3

我有一个我不知道时区设置的网络服务器。

现在是英国上午 10:49,但是当我运行以下命令时:

$sTime = gmdate("d-m-Y H:i:s");  
print 'The time is: ' . $sTime;

服务器返回以下时间。

The time is: 24-06-2012 09:49:57

现在我不想只是在时间上“添加”一小时,因为当时间向前移动 1 小时或向后移动 1 小时时,时间仍然需要正确。

有没有办法获得伦敦的实际时间?

仅供参考 - 我也尝试了以下方法,但没有任何运气:

date_timezone_set('Europe/London');
$sTime = gmdate("d-m-Y H:i:s");  
print 'The time is: ' . $sTime;

提前谢谢了。

4

2 回答 2

16

不要在这里使用 gmdate("dmY H:i:s") 因为它返回 GMT。而是使用日期(“dmY H:i:s”)。试试这个 -

date_default_timezone_set('Europe/London');
$sTime = date("d-m-Y H:i:s");  
print 'The time is: ' . $sTime;
于 2012-06-24T10:18:24.203 回答
0

您可以通过添加小时来做到这一点。就我而言,英国 TimeZone有 1 小时的差异。所以我加了1小时。

\Carbon\Carbon::parse($model->created_at)->addHours(1)->format('d-m-Y H:i') 

或者

 \Carbon\Carbon::parse($model->created_at)->subHours(1)->format('d-m-Y H:i') 
于 2022-01-20T06:28:44.047 回答