2010-05-04 59 views
1

我在2010-05-04T05:27:00.000Z格式的時區顯示GMT時間,我想使用php添加GMT 10+。在php中添加gmt時間

我可以使用下面的代碼做這件事,但我將如何直接添加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); 

回答

0

使用DateTimehttp://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"; 
?> 
+0

我正在同時使用添加功能PHP致命錯誤得到錯誤:調用未定義的方法的DateTime :: add()和用於第二代碼PHP致命錯誤:類「DateInterval」未找到錯誤。 我使用PHP 5.2.8 – hunt 2010-05-04 07:42:27

+0

@hunt:在鏈接是你給的可以讀取函數DateTime :: add()和DateInterval類是可用版本(PHP 5> = 5.3.0),那麼你有太舊的PHP用於它。 – Svisstack 2010-05-04 07:47:20

+0

是否有另一種方式爲PHP 5.2.8? – hunt 2010-05-04 07:54:15

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