【发布时间】:2013-10-27 19:07:45
【问题描述】:
基本上我的网站是全球性的,我需要能够检测用户的时区并显示准确的时间。我有这个非常简洁的脚本,它曾经完美地工作到现在。它需要一个时区偏移量,我使用 javascript 获取并通过 cookie 传递。
if(!empty($_COOKIE['tz']) && $_COOKIE['tz']>=-12 && $_COOKIE['tz']<=13){
$offset = $_COOKIE['tz'];
$tz = timezone_name_from_abbr(null, $offset * 3600, true);
if($tz === false) $tz = timezone_name_from_abbr(null, $offset * 3600, false);
date_default_timezone_set($tz);
}else{
date_default_timezone_set('UTC');
}
问题是目前我正在测试的时区是欧洲/赫尔辛基,这是 UTC+2(没有夏令时),但由于某种原因 timezone_name_from_abbr() 决定 2*3600 是欧洲/巴黎。我对日期和时区非常不满意,我非常需要帮助!
【问题讨论】: