用gmt偏移量转换PHP中的时间

时间:2014-05-22 15:35:15

标签: php datetime timezone gmt date-conversion

例如我的时间字符串是" 11:00"和gmt偏移字符串" +02:00"。

如何将两者结合起来在PHP中进行转换?

这是我目前的代码:

$time = $row->time;

//Get users gmt setting

$timezone = $this->_get_gmt();

//calculate correct time here

$time = ; //whatever i have to do.

所有答案都表示赞赏。

3 个答案:

答案 0 :(得分:2)

$date = DateTime::createFromFormat('H:i P', '11:00 +02:00');
$date->setTimeZone(new DateTimeZone('GMT'));
echo $date->format('H:i');

Demo

此:

  1. 使用时间和偏移量
  2. 创建DateTime对象
  3. 将时区转换为GMT
  4. 回顾GMT的时间

答案 1 :(得分:1)

您可以使用DateTime对象来执行此操作

$date = new DateTime('Your Time String here');
$date->setTimezone(new DateTimeZone('GMT'));
echo $date->format('Y-m-d H:i:sP') . "\n";

答案 2 :(得分:1)

尝试:

$time = $row->time;

$timezone = $this->_get_gmt();

$time = date( "H:i:s", strtotime( $time )+ $timezone * 60 * 60 )

假设$time是时间格式:例如。 14:30,$timezone是偏移号码,例如。 2。