我的整个网站是:日期时间不会改变临时
date_default_timezone_set('Europe/London');
用户可以选择自己的时区,并在数据库中保存为4.0
(迪拜)
现在我想有这么用户选择的时区对网站上存在的倒计时有影响。倒计时看起来是这样的:
$today_date = new DateTime('now'); // now
$final_date = new DateTime($date); // a date in the future
$interval = $today_date->diff($final_date); // find the difference
$time_left = $interval->format('starting in %d days, %h hours and %i minutes'); // display it
在此之上,我做以下内容:
$userGMT = $user->get_gmt();
date_default_timezone_set($userGMT);
不工作正确的。欧洲/伦敦时区仍然倒计时,而不是我选择的那个。
我试过做echo time('H:i:s');并可以看到上面已经受到影响的时间,它显示了我选择的时区的时间。
这样的工作,但dateTime('现在');犯规?
你尝试'新的日期时间( '现在',新DateTimeZone(“欧洲/伦敦))'? – 2012-04-17 22:45:50
是的,没有为我工作 – Karem 2012-04-18 07:07:25
你打开'error_reporting(E_ALL)'和'ini_set('display_errors','1')'来捕获所有可能的错误(只在开发当然)?所有时区是否正确安装?在控制台中用'locale -a'检查。 – 2012-04-18 07:12:24