我已经问过一个非常类似的问题,但没有得到任何帮助。用户在当地时区查看
我有一个网站,允许用户发布笔记。这些笔记上会有一个时间戳。我服务器上的默认时区为EST5EDT
(尽管我将date.timezone
设置为其他内容,这是一个不同的问题!)。
据我所知,最好用服务器时间设置时间戳并将其转换为每个用户。例如:
User 1 (GMT) posts "Hello World" at (local time) 5:00 (server time) 0:00
User 2 (AEST, +10) sees that User 1 posted "Hello World" at (local time) 15:00
为了辩论的缘故,我避免担心DST,因为我不认为这是值得的。
我知道我可以在我的应用程序中使用date_default_timezone_set()
,但我很确定我应该将发布时间设置为服务器时间,因此不需要更改设置的时区。
我只是想将时间转换为观众
"Post as Server Time, Read as Local Time"
我不相信我是谁拥有了自己的Web应用程序执行此所以必须有一个答案在那里的第一人。
我将必须得到发布的日期时间,获取用户查看帖子的时区(可能通过javascript,因为php使用服务器端的日期和时间),并使用用户的时区转换日期时间。
getTimezoneOffset()
在JavaScript中可以计算出用户与UTC的时差,但不能从我的服务器时间算出。
也许一些有用的信息的http://计算器.com/a/9849447/1468708 –
哪些数据类型是否存储时间戳? –
timestamp存储在mysql数据库中,日期时间 – Wildcard27