我正在尝试使用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-by-country-code/
答案 0 :(得分: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;