0

我想制作一个显示时间取决于特定国家/地区的时区的系统。例如,我的数据库中的一个表在一个字段中包含国家名称,并且在它旁边的列中,它将包含与 GMT 比较的时区,如 -0100 或 -0200。

然后我需要在网页上做的是设置当前的 GMT 时间($time),然后从数据库中提取信息并将 $time 更改为 GMT -1 或 GMT -2。

有人能告诉我最简单的方法是什么吗?

谢谢你的帮助

编辑:

到目前为止,我有这个代码:

    <?php

$time = date("H:i:s", time());
echo $time;
echo "<br/><br/>";
$myDateTime = new DateTime($time, new DateTimeZone('GMT'));
$myDateTime->setTimezone(new DateTimeZone('Antarctica/South_Pole'));
echo $myDateTime->format('Y-m-d H:i');
?>

这似乎可以完成这项工作,我可以输入数据库'Antarctica/South_Pole'而不是GMT-/+时间。从长远来看,这能完成这项工作吗?

另外,使用这种方法,是否可以计算出夏令时?

4

1 回答 1

0

使用DateTimeZone是正确的方法。

如果您为它提供 zoneinfo 键(如您的示例中的 America/New_York 或 Antarctica/South_Pole),夏令时将被考虑到结果中,如果您有一个只存储 UTC 偏移量的幼稚数据库,则情况并非如此.

于 2011-04-05T11:29:38.283 回答