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

时间:2012-06-07 05:25:59

标签: php timezone

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

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

例如。假设我主持了2012年6月10日的比赛,从IST下午2-4点或服务器到哪里。现在我希望来自世界各地的用户只能参加比赛。我应该如何告诉用户他转换的当地时区?我不希望用户应该为转换时间而痛苦,而且我也不愿意为全世界的用户提供转换工具。

我希望用户能够在当地时区的日期和时间参加比赛!

提前致谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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>