如何使用 php 将用户本地时区转换为服务器时区


How to convert the user local time zone to server timezone using php?

我想创建一个php脚本,一次性在世界各地进行在线竞赛。

我的第一个问题..我真的可以在一个时间跨度内做到这一点,如果是,那么如何?

假设我在2012年6月10日举办比赛,从IST下午2点到4点或服务器所在的任何地方。现在我希望来自世界各地的用户只在这个时候参加比赛。我应该如何告诉用户他的转换本地时区?我不希望用户为转换时间而痛苦,我也不愿意为世界各地的用户提供转换工具。

我希望该用户应该在提到的当地时区日期和时间参加比赛!

提前感谢!

通过设置 cookie 或使用 ajax 调用来获取客户端的时区。

很简单。将服务器时间发送到客户端(一些隐藏的跨度或输入)。

function getLocalTime(gmt)  {
       var min = gmt.getTime() / 1000 / 60; // convert gmt date to minutes
       var localNow = new Date().getTimezoneOffset(); // get the timezone 
                                                      // offset in minutes            
       var localTime = min - localNow; // get the local time
       return new Date(localTime * 1000 * 60); // convert it into a date
    }
//var strDate = [get text date sent from server here];
var dt = new Date(Date.parse(strDate));
var localDate = getLocalTime(dt);
//[Set value of your localTime here]

使用 javascript 将此时间转换为用户本地时间。仅向用户显示用户的本地时间。

Contest will be held at : <span id='localTime'></span>