我想问,如果这是去上班之前,我对我如何处理日期和时间完全成熟的重构去了。存储日期和时间在UTC并将其转换在PHP当地时间/ MySQL的
到帧我的问题,这是我的问题... 我保存用户的历史记录表所采取的“行动”。这些行为有一个时间戳。用户可以来自世界各地,因此有不同的时区。我想要显示历史中的项目并在当地时区显示时间戳。
另外,我知道我可以使用日期时间字段,只是存储UTC时间格式,但我选择使用时间戳,所以我可以设置默认为当前时间。
这是否适合我的问题?
我的服务器的时区将是洛杉矶
商店时间戳MySQL中的时间戳。我的理解是,时间戳记始终以UTC格式存储。记录将默认存储为creation_date或者我将明确设置UTC_TIMESTAMP()。有效地,数据库中的所有记录都是UTC。
当用户登录我会抓住他们的时区(我这个存储在数据库中的用户设置)。 对于这个例子,可以说这个人在纽约。
这是我的问题所在。这些工作是否会起作用?
- 一个)抓斗的历史数据。所有时间戳会自动从UTC转换到洛杉矶时间。 Foreach历史项目,将洛杉矶时间戳转换为纽约时间戳和回显。
- b)设置在PHP时区 “date_default_timezone_set” 纽约。抓取历史数据。所有的时间戳仍然在洛杉矶时间仍然是洛杉矶时间。 Foreach历史项目,只是回显时间戳,因为“date_default_timezone_set”会自动将洛杉矶时间戳转换为纽约。
OR
意志选项4B工作?有没有更好的方法将洛杉矶时间转换为纽约时间?
有没有更好的方法来做到这一点?
以UTC格式存储,显示本地用户是主流解决方案。 – 2012-02-19 20:47:06