0

我试图找到一种方法来使用 PHP 中的时区函数显示两个位置之间的时间差异:http: //php.net/manual/en/timezones.php

假设我从上面的链接中选择了英国和中国,我可以在 php 页面上显示位置的时间,但是如何显示这两个位置之间的时差?

即在英国是12:49,在中国是18:49。我需要以小时为单位显示这两个值之间的差异!

任何帮助都会很棒。

编辑:这是我在 PHP 中显示特定位置的当前时间的方式:

<div style="visibility:hidden;"><?php
date_default_timezone_set('Europe/Moscow');
echo  'Current Time In Moscow: ' . date('H:i:s.A') . PHP_EOL ;
?>

<div style="visibility:hidden;"><?php
date_default_timezone_set('Asia/Shanghai');
echo  'Current Time In Beijing: ' . date('H:i:s.A') . PHP_EOL ;
?>

我也在谷歌上找到了这个链接,但我不知道该怎么做:http: //kukunotes.wordpress.com/2013/04/28/php-find-time-difference-between-two-countries-按国家代码/

4

1 回答 1

1
function get_timezone_offset( $origin_tz, $remote_tz ) {
    $timezone1 = new DateTimeZone( $origin_tz );
    $timezone2 = new DateTimeZone( $remote_tz );

    $datetime1 = new DateTime("now", $timezone1);
    $datetime2 = new DateTime("now", $timezone2);

    $offset = $timezone1->getOffset($datetime1) - $timezone2->getOffset($datetime2);
    return $offset;
}

$offset = get_timezone_offset( 'Europe/London', 'Asia/Shanghai' );

// convert offset to hours
echo $offset/3600;
于 2013-08-21T12:07:04.887 回答