2012-07-03 5 views

ответ

2

DateTime объекта PHP является хорошим выбором:

$GMT = new DateTimeZone("GMT"); 
$date = new DateTime("2011-01-01 15:00:00", $GMT); 
$date->setTimezone($newTZ); 
echo $date->format('Y-m-d H:i:s'); 
+9

Что такое $ newTZ? – michele

+2

Это смешно. Неверный код выиграл. –

5

Использование gmdate().
Преобразование текущего формата даты в UNIX метку времени с помощью strtotime, а затем использовать gmdate($format, $timestamp);

+0

$ времени = StrToTime ("2012-06 -27 16:17:06 "); \t gmdate ($ format, $ time); , но какое значение мне нужно назначить в формате $? – michele

+0

Поместите туда формат даты. То есть 'm-d-Y, H: i: s' –

1
// Set timeline 
$time_line = time() +7200; // <-- this is timeline +2 
$h = gmdate('h', $time_line); 
$i = gmdate('i', $time_line); 
$s = gmdate('s', $time_line); 

$time = $h.":".$i.":".$s; 

echo $time; 
2

Ну, строго говоря, вы не можете это сделать. Если вы не знаете, в какой TZ была создана дата, вы не можете преобразовать ее в другую TZ.

Если эта дата получена из БД, возможно, вы можете запросить дату с оригинальным TZ.

$date = new DateTime("2011-01-01 15:00:00", $original_TZ); 
$date->setTimezone("GMT");