добавление времени gmt в php - PullRequest
1 голос
/ 04 мая 2010

У меня есть часовой пояс в формате 2010-05-04T05: 27: 00.000Z, который указывает время по Гринвичу, и я хочу добавить к нему время GMT 10+, используя php.

Я могу сделать это, используя следующий код, но как бы я напрямую добавил 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 ]

1 голос
/ 04 мая 2010

Может быть, я упускаю суть, но вы действительно не ищете 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
0 голосов
/ 04 мая 2010

Использование DateTime класс http://php.net/manual/en/book.datetime.php точно 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";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...