2012-01-14 91 views
1

我们使用非常简单的php函数来显示时间和日期。不同澳大利亚国家的展示时间

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

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

我曾经知道显示我们的服务器的时间,这是在nsw,但忘记了它的脚本。猜猜这是最容易..显示服务器的时间,然后显示出基于服务器时间+/DIFF时间 - 1个小时什么...

想知道如果任何人有任何建议.. 干杯

随着@crolpa帮助这就是我所拥有的,就像我说的那样。

<?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 /> 
+0

出于好奇呢奥兹已经夏令时间? – 2012-01-14 07:12:32

+0

我们这样做,但QLD不遵守它,WA我也不认为 – 422 2012-01-14 07:16:26

回答

4

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

$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);?> 
+0

真棒..thankyou什么是最好的方式来创建一个像每一个变种? php echo $ adelaide?> etc – 422 2012-01-14 07:11:30

+1

'$ adelaide = time()+ $ offset'或'date_default_timezone_set('Australia/Adelaide'); $ adelaide = time();'。最好使用前者,因为'date_default_timezone_set'被设计为设置默认时区一次。 – 2012-01-14 07:17:01

+0

谢谢,你可以请发布完整的PHP,因为我完全用PHP废话。请 – 422 2012-01-14 07:20:10

相关问题