我想显示7个不同国家的7个不同时间,但正如你在我的代码中看到的那样,我对编程只有简单的了解。我的问题是,有没有更好的方式来显示这7个国家(悉尼、布里斯班、珀斯、曼谷、伦敦、纽约和洛杉矶)的时间?我可以在一个php文件中使用多个不同的date_default_timezone_set吗?因为在我尝试的时候,它只遵循一个时区。感谢所有的帮助,谢谢。
<html>
<head></head>
<title>PA Toolbox</title>
<?php
function a(){
if(date_default_timezone_set('Australia/Sydney'))
{
date("format");
echo date( 'h:ia');
}
}
function b(){
if(date_default_timezone_get('Australia/Brisbane'))
{
$date = date(“format”, $timestamp);
echo date( 'h:ia');
}
}
//else
//elseif(date_default_timezone_get('Australia/Perth'))
// {
// $date = date(“format”, $timestamp);
// }
//elseif(date_default_timezone_get('Asia/Bangkok'))
// {
// $date = date(“format”, $timestamp);
// }
//elseif(date_default_timezone_get('Europe/London'))
// {
// $date = date(“format”, $timestamp);
// }
//elseif(date_default_timezone_get('America/New_York'))
// {
// $date = date(“format”, $timestamp);
// }
//elseif(date_default_timezone_get('America/Los_Angeles'))
// {
// $date = date(“format”, $timestamp);
// }
?>
<table border="1">
<tr>
<td>Sydney and Melbourne</td><td>Brisbane</td><td>Manila and Perth</td> <td>Bangkok</td><td>London</td><td>New York</td><td>Los Angeles and San Francisco</td>
</tr>
</>
<td><?php return a(); ?></td><td><?php return b(); ?></td>
<td><?php echo date( 'h:ia'); ?></td><td><?php echo date( 'h:ia'); ?></td>
<td><?php echo date( 'h:ia'); ?></td><td><?php echo date( 'h:ia'); ?></td>
<td><?php echo date( 'h:ia'); ?></td>
</tr>
</table>
</html>
时钟工作正常,但我如何设计它,使数字移动而不刷新页面?
如果使用DateTime
类,则不需要每次都更改默认时区:
date_default_timezone_set('YourOwn/LocalTimezone'); // fill in the blank
$timezones = array(
'Sydney' => 'Australia/Sydney',
'Melbourne' => 'Australia/Melbourne',
...
);
foreach ($timezones as $name => $timezone) {
$localTime = new DateTime('now', new DateTimeZone($timezone));
echo "$name: ", $localTime->format('h:ia');
}
请参阅此Url
http://www.php.net/manual/en/function.geoip-time-zone-by-country-and-region.php
并尝试
这将打印国家CA(加拿大)、地区QC(魁北克)的时区
<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
echo 'Time zone for CA/QC is: ' . $timezone;
}
?>
为时区使用给定函数
$datetime=new DateTime('now', new DateTimeZone('UTC'));
$time=new DateTimeZone(timezone);//timezone
$datetime->setTimeZone($time);//setting timezone
$datetime->format($format);//convert date and time format