在PHP中添加gmt时间

时间:2010-05-04 07:12:00

标签: php timezone

我在2010-05-04T05:27:00.000Z格式中有一个时区,表示GMT时间,我想用PHP添加GMT 10+。

我可以使用以下代码执行该操作,但我将如何直接添加2010-05-04T05:27:00.000Z和GMT 10+以便我可以获得有效的日期和时间。

$offset=10*60*60; 
$dateFormat="d-m-Y H:i::m:s";
echo $timeNdate=gmdate($dateFormat, time()+$offset);

2 个答案:

答案 0 :(得分:1)

也许我错过了这一点,但你真的不是在寻找DateTime::setTimezone吗?

$timezone = new DateTimeZone('Etc/GMT-10'); // GMT+10:00
$datetime = new DateTime('2010-05-04T05:27:00.000Z');
$datetime->setTimezone($timezone);
echo $datetime->format('r');
// Tue, 04 May 2010 15:27:00 +1000

答案 1 :(得分:0)

使用DateTime课程http://php.net/manual/en/book.datetime.php exacly DateTime::Add() http://www.php.net/manual/en/datetime.add.php

你有一些例子:

<?php
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s') . "\n";

$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $date->format('Y-m-d H:i:s') . "\n";
?>

另一个:

<?php
$date = new DateTime('2000-12-31');
$interval = new DateInterval('P1M');

$date->add($interval);
echo $date->format('Y-m-d') . "\n";

$date->add($interval);
echo $date->format('Y-m-d') . "\n";
?>