如何使用PHP或javascript使站点上的所有用户共享一个通用时区


how to make all users on site share a universal timezone using php or javascript?

我正在使用这个很棒的jQuery时间选择器http://trentrichardson.com/examples/timepicker/

它给出了一个像07/20/2011 01:13 am

这样的字符串

我有这样的情况,用户在网站上可以安排"事件",他们正在使用它来选择事件。但我意识到,这可能会造成很多混乱,因为人们将从不同的时区提交。

所以我想我可以使用php以某种方式获得时区,并根据他们的时区调整查看器如何查看日期。但这似乎是一项艰巨的任务,我想知道是否有更简单的方法?

另外,即使有php的想法,我尝试echo date_default_timezone_get();作为测试,看看它是否得到我的时区,但它说我在洛杉矶时区,而不是巴尔的摩/DC时区。

我猜它正在获取我的服务器的时区,因为php是服务器端。

所以基本上,什么是最好的方式,而使用我的时间选择器jquery脚本,我可以让所有的用户查看日期/时间调整到他们的时区?

当您从用户获取日期时间时,保存在默认时区(例如GMT 0),您需要知道用户的时区。当您从DB获得日期时间时,将用户时区添加到其中。

你是正确的,默认的时区是服务器的。

get user timezone可以保存到cookie

该术语是UTC时间,即通用协调时间。谷歌一下,你会发现很多,与此同时:

http://www.w3schools.com/jsref/jsref_getutcdate.asp

直接给出UTC时间(例如:"Wed, 20 Jul 2011 06:10:38 GMT"),并使用JS将其转换为当地时间。

var localTime = new Date("Wed, 20 Jul 2011 06:10:38 GMT");
alert(localTime); // shows local time like: "Wed Jul 20 2011 14:10:38 GMT+0800 (CST)"