Php 如何将日期时间字符串转换为当前时区

Php 如何将日期时间字符串转换为当前时区,php,Php,例如,我有一个包含以下内容的字符串: 2012-06-18T11:45:00Z 我想在我当前所在的时区显示它 因此,输出(取决于格式)如下所示: 2012-06-18 12:45:00 由于我现在在英国夏令时,但在冬季(当我在格林威治标准时间),我希望输出如下: 2012-06-18 11:45:00 我可以得到一些PHP(7.0版)来实现这一点吗; (选择要显示的时区,而不是欧洲/伦敦) PHP日期对象()允许您修改时区。 <?php date_default_timezone_s

例如,我有一个包含以下内容的字符串:

2012-06-18T11:45:00Z
我想在我当前所在的时区显示它

因此,输出(取决于格式)如下所示:

2012-06-18 12:45:00
由于我现在在英国夏令时,但在冬季(当我在格林威治标准时间),我希望输出如下:

2012-06-18 11:45:00
我可以得到一些PHP(7.0版)来实现这一点吗; (选择要显示的时区,而不是欧洲/伦敦)

PHP日期对象()允许您修改时区。
<?php
date_default_timezone_set('Europe/London');
$Date = "2012-06-18T11:45:00Z";
$Date = str_replace("T"," ",$Date);
$Date = str_replace("Z"," ",$Date);
$FinalDate = date('Y-m-d H:i:s', strtotime("$Date"));
$FinalDate = DateTime::createFromFormat('Y-m-d H:i:s', $FinalDate);
var_dump($FinalDate);
?>
object(DateTime)#1 (3) {
  ["date"]=>
  string(26) "2012-06-18 11:45:00.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}