我想创建一个 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>