0

我正在使用 Live Connect 创建日历事件。根据他们的文档,为事件提供的 start_time 应指示从 UTC 开始的时间间隔(即 +0700 或 -0300)。作为第一次 stab ,我有一些工作的代码,从 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;
}

谢谢您的意见。

-埃里克

4

1 回答 1

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

PHP 手册页date()

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

于 2013-07-04T01:23:48.280 回答