我在php 5.1.6中有一段代码
是:
$tz = date_default_timezone_set("Asia/Tokyo");
$date = date('2016-11-24 07:27:00 +00');
$date = date_default_timezone_get($tz);
$currentDate = date('F d, Y H:i');
我一直在输出
上获得当前时间2016年11月24日16:09
我怎样才能获得
2016年11月24日19:27
谢谢
答案 0 :(得分:3)
以下代码可以帮助您:
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2016-11-24 07:27:00');
$tokyo_time = new DateTimeZone('Asia/Tokyo');
$datetime->setTimezone($tokyo_time);
echo $datetime->format('F d, Y H:i');
如果您想添加3小时,可以使用以下代码:
$datetime->add(new DateInterval('PT3H'));
所以你的代码如下所示:
date_default_timezone_set('Europe/London');
$datetime = new DateTime('2016-11-24 07:27:00');
$tokyo_time = new DateTimeZone('Asia/Tokyo');
$datetime->setTimezone($tokyo_time);
echo $datetime->format('F d, Y H:i');
$datetime->add(new DateInterval('PT3H'));
更多信息可在以下手册中找到:
PHP 5.1.6
如果它不起作用,请在代码中添加这些行:
$newdate = date('F d, Y H:i', strtotime($date.' + 3 hours'));
echo $newdate;
您的代码如下所示:
$tz = date_default_timezone_set("Asia/Tokyo");
$date = date('2016-11-24 07:27:00 +00');
$date = date_default_timezone_get($tz);
$currentDate = date('F d, Y H:i');
$newdate = date('F d, Y H:i', strtotime($date.' + 3 hours'));
echo $newdate;
有关您可以在PHP:strtotime
中阅读的已使用方法的更多信息