使用用户以此格式输入日期时间的mod“11/28/2012 11:34 am”。
然后我使用strtotime将其转换为时间戳并将其保存到我的数据库。
然后我使用以下日期在我的模板中向用户显示它(DateTime,'D M jS g:i A')。
问题是与创建活动的用户不在同一时区的用户没有更新正确的时间来反映他们的时区。
我可以访问用户发布的时区偏移和用户查看。
我的问题是我应该如何弥补时区差异?
答案 0 :(得分:1)
将字符串转换为实际时区时,使用此选项覆盖服务器时区,并提供用户提交值的时区:http://us3.php.net/manual/en/function.date-default-timezone-set.php
稍后检索时,使用相同的功能将服务器时区覆盖到当前用户的时区(适合用户此时显示日期时间的那个)。
还要确保将其正确存储在数据库中:最好使用PHP中的Unix时间戳,数据库中的TIMESTAMP列,保存到数据库时的FROM_UNIXTIME()数据库函数和从数据库中检索时的UNIX_TIMESTAMP()(所有对MySql都有效) RDBMS,检查你自己的DBMS是否不同。)