我将所有日期时间值存储为unix时间戳。注册用户可以在其个人资料中设置个人GMT区域设置。如何在用户的GMT区域设置中显示网站上的所有日期时间?
谢谢
答案 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()