我在使用php和mysql处理日期和时间时遇到了麻烦。我试图将用户时区的本地时间存储为mysql数据库的时间戳,并希望它在输出时转换回正常的日期和时间。
这是我第一次处理日期和时间。
据我了解:我不能依赖PHP的time()
,因为它根据服务器的时区返回服务器时间,与mysql current_timestamp
的情况相同。
我可以使用javascript获取用户的本地时区,然后可以为每个会话使用date_default_timezone_set()
。
如果我做得对,现在混乱就开始了。
您可以理解,用户将来自全球各地,因此,如果两个用户(一个来自美国,另一个来自印度)同时做某事,那么它会将彼此的时间显示为相同或者会显示出一些差异?我的意思是它不应该向印度用户显示美国用户几小时前做的事情就像美国用户同时做的那样。
如果我不理解这些事情,请告诉我。
我想要实现的是,时间的输出应以当地时间格式显示。例如:任何时候都应该以印度语用户和其他国家的IST格式显示。
答案 0 :(得分:0)
实现这一目标的最佳方法是以标准格式(例如GMT)将日期存储在数据库中。
通过javascript获取用户的时区后,您可以将日期转换为用户的时区&相应地显示。