我目前正在将我的MYSQL数据库中的日期存储为PHP时间戳(整数字段)。但是,如果我从数据库中检索它并使用PHP日期函数,它是否会根据客户端的时区显示正确的时间。
例如,我在东部时间显示一个PHP时间戳1310674625(从DB中提取) 2011年7月14日22:17:05 。因此,如果我使用下面的代码在PHP中显示时间戳,那么查看太平洋时区网页的人会看到 2011年7月14日19:17:05 吗?
echo date('M d Y H:i:s', 1310674625);
答案 0 :(得分:0)
没有。日期将根据服务器的时间和时区显示,而不是用户的。
您可以在您的网站上提供一个选项,允许用户提供他/她的时区(或尝试使用基于IP的地理位置)并根据情况调整输出。
根据this post,可能无法可靠地确定用户的时区,因此为了获得最佳效果,您可能需要从用户那里获得输入。
编辑(根据评论中的更多信息请求)
如果您需要输出所选时区,可以使用以下选项之一:
echo date('e'); // Examples: UTC, GMT, Atlantic/Azores (Available in version 5.1.0 and later
echo date('O'); // Different in Greenwich meantime. Example: +0200
echo date('T'); // Timezone abbreviation. Examples: EST, MDT ...
有关详细信息,请参阅date手册页。
编辑2:
要“将日期打印到指定的时区”,您需要:
time()
)date()
将结果转换回人类可读的格式。答案 1 :(得分:-1)
如果您了解用户时区,请使用date_default_timezone_set
您也可以使用Javascript日期(此处打印时间戳)