【发布时间】:2014-04-20 14:25:23
【问题描述】:
PHP time()在以下情况下如何工作:
用户正在数据库中发布一些内容,并且添加了发布戳记,这只是 time()。
但是如何补偿时区呢?如果欧盟和美国的两个用户同时发帖,发帖戳是一样的吗?
【问题讨论】:
-
time()不关心时区。它所做的只是返回一个 Unix 时间戳(这是自 Unix 纪元以来的秒数)。有关更多详细信息,请参阅此问题:What is a Unix timestamp and why use it?。 -
Thx Amal,那么在这种情况下有什么好的做法呢?我应该只保留来自 time() 函数的邮戳,还是应该补偿不同的时区(根据用户所在国家/地区时区添加或减去邮戳小时数)?
-
我不确定我是否理解您的问题。你到底想完成什么?
-
我很困惑,因为如果我有来自美国的用户在纽约时间下午 23 点发布一些东西,那么在 db 中输入的张贴邮票将是 UTC 当前时间,当时是凌晨 4 点(如果我没记错的话)。后来,当我尝试显示记录发布的日期时,在网站上,我会得到 8 月 20 日而不是 19 日(8 月 19 日下午 23 点实际上是创建记录的日期)
-
按原样存储 time() 的结果。显示时间时,调整显示时间。其他任何事情都会以眼泪告终。
标签: php