如何在用户的GMT语言环境中显示网站上的所有日期时间?

时间:2010-08-10 22:58:42

标签: php gmt

我将所有日期时间值存储为unix时间戳。注册用户可以在其个人资料中设置个人GMT区域设置。如何在用户的GMT区域设置中显示网站上的所有日期时间?

谢谢

2 个答案:

答案 0 :(得分:1)

没有“用户的GMT语言环境”这样的东西。您必须引用用户的timezone

您可以通过以下方式将unix时间戳转换为用户时区中的日期:

$timestamp = ...;
$tz = new DateTimezone("Europe/Lisbon"); //substitute by the user's timezone
$d = new DateTime("@$timestamp");
$d->setTimezone($d);
echo $d->format(DateTime::RFC822);

如果您只有GMT偏移量,则可以使用:

$tz = new DateTimezone("Etc/GMT-12");

但请注意,如果您使用GMT偏移量,则必须在用户进入或离开夏令时时更改它们。

答案 1 :(得分:-1)

使用PHP:

date("Y-m-d H:i:s", $timestamp);

使用MySQL:

FROM_UNIXTIME()