澳大利亚不同州的显示时间


Display times for different Australian States

我们使用非常简单的php函数来显示时间和日期。

<div class="datedata"><?=date("l, F jS, Y", time());?></div>

但我在想,我该如何在不同的澳大利亚州显示实际时间。

我以前知道显示我们服务器时间的脚本,它在nsw中,但忘了它。我想这是最简单的。。显示服务器时间,然后根据服务器时间显示不同的时间+/-1小时。。。

不知道有没有人有什么建议。。干杯

在@crolpa的帮助下,这就是我所拥有的,就像我所说的。。我讨厌php。

<?php
date_default_timezone_set('Australia/Adelaide');
$adelaide = time();
date_default_timezone_set('Australia/Melbourne');
$melbourne = time();
date_default_timezone_set('Australia/Sydney');
$sydney = time();
//etc...
?>
<?=date("G:i a",$adelaide)?><br />
<?=date("G:i a",$melbourne)?><br />
<?=date("G:i a",$sydney)?><br />

您可以将偏移量添加到基准时间。所以…

$offset = 3600 * 1.5 //+ 1.5 hours
$timestamp = time() + $offset;
echo date("l, F jS, Y",$timestamp);

默认的time()功能由您的服务器设置。您可以在脚本的开头轻松更改:

date_default_timezone_set('Australia/Adelaide');

这也可以通过脚本来模拟不同的时区。

date_default_timezone_set('Australia/Adelaide');
echo date("l, F jS, Y",time());
date_default_timezone_set('Australia/Melbourne');
echo date("l, F jS, Y",time());
date_default_timezone_set('Australia/Sydney');
echo date("l, F jS, Y",time());

这是最简单的方法,也将自动调整夏令时:

<?php
    date_default_timezone_set('Australia/Adelaide');
    $adelaide = time();
    date_default_timezone_set('Australia/Melbourne');
    $melbourne = time();
    date_default_timezone_set('Australia/Sydney');
    $sydney = time();
    //etc...
?>
<?=date("l, F jS, Y",$adelaide);?>