Javascript 多个时区之间的动态转换

Javascript 多个时区之间的动态转换,javascript,php,Javascript,Php,我有一个简单的网站正在开发中,用户可以提问和回答。我面临的问题是,来自全球多个时区的用户可能也会发布他们各自的时间。有人来自亚洲/加尔各答,有人来自美国/凤凰城,还有人来自欧洲/伦敦等。例如,我设置了默认时区: date_default_timezone_set('Asia/Calcutta'); 来自该时区的人将看到确切的时间。但对于来自美国/凤凰城或欧洲/伦敦的人,我必须设置: date_default_timezone_set('America/Phoenix'); 或 但所有这些都是

我有一个简单的网站正在开发中,用户可以提问和回答。我面临的问题是,来自全球多个时区的用户可能也会发布他们各自的时间。有人来自亚洲/加尔各答,有人来自美国/凤凰城,还有人来自欧洲/伦敦等。例如,我设置了默认时区:

date_default_timezone_set('Asia/Calcutta');
来自该时区的人将看到确切的时间。但对于来自美国/凤凰城或欧洲/伦敦的人,我必须设置:

date_default_timezone_set('America/Phoenix');


但所有这些都是静态的,我只是用它来解释。在实际场景中,我如何完成这项任务,因为我不知道哪个用户来自哪个时区。所以在这种情况下,将时区设置为特定时区将是无用的。如何动态解析或以任何其他方式解析?

下面是另一个stackoverflow,它讨论了一种(好的)方法来检测和保留适合每个用户的时区信息,您可以在服务器上使用UTC,将数据库中的每一次都保存为UTC,并使用客户端JavaScript根据客户端时区显示本地时间。@Passenger是的,这是一个好主意,我自己已经考虑过了。但有一个问题与此相关。假设服务器中的默认时区是UTC。当一个用户在,比如说上午9点52分(客户端时间)发帖时,服务器会将其视为UTC时间,当同一个用户查看时,会将其转换为其所在时区的本地时间,那么他不会像以前那样获得上午9点52分的时间,但这将是从UTC上午9点52分计算出来的时间,对吗?@rosemary不,您不会使用客户端的时间,您在服务器上使用时间。每当您的服务器收到帖子时,您都会存储服务器的时间。您将UTC时间戳发送回您的客户,并使用JS将其计算回客户的本地时间。@Passenger谢谢。杰出的在客户端,我只需要像在PHP中一样格式化时间戳,对吗?当我们在PHP中使用date()函数时,javascript中的哪些函数可以方便地实现这一点。再次感谢!
date_default_timezone_set('Europe/London');