使用UTC和PHP

时间:2013-07-04 00:39:19

标签: php time utc

我正在使用Live Connect创建日历活动。根据他们的文档,为事件指定的start_time应该表明距离UTC的时间有多少小时(即+0700或-0300)。作为第一次尝试,我有一些工作的代码,从PHP手册拼凑而成。然而,它“感觉”非常冗长。所以,从风格的角度来看,是否有办法清理我所拥有的更简洁的东西?请注意,$ time_zone是基于给定用户我知道的。

$dateTimeZone = new DateTimeZone($time_zone);
$dateTime= new DateTime("now", $dateTimeZone);
$gmt_offset = ($dateTime->getOffset())/3600;
$negative = ($gmt_offset<0);
$gmt_offset = abs($gmt_offset);
if ($gmt_offset < 10) {
$gmt_offset = '0'.$gmt_offset.'00';
} else {
    $gmt_offset = $gmt_offset.'00';
}
if ($negative) {
    $gmt_offset = '-'.$gmt_offset;  
} else {
$gmt_offset = '+'.$gmt_offset;
}

感谢您的投入。

-Eric

1 个答案:

答案 0 :(得分:2)

$gmt_offset = $dateTime->format('O');

来自PHP manual page for date()

  

格式字符:O
  描述:与格林威治时间(GMT)的差异,以小时为单位   示例返回值:示例:+0200