Web服务器是否有标准方法可以确定用户在网页中的时区?
也许来自HTTP标头或user-agent字符串的一部分?
您好我现在正在使用时间值来存储时间,这取决于服务器时间,但我的网站将被全世界所有人使用,所以我试图自动检测用户时区.提前致谢
基本上,我的网站遍布全球,并且我需要能够检测用户的时区并显示准确的时间。我有一个非常整洁的脚本,到现在为止,它一直可以完美地工作。它需要一个时区偏移量,该偏移量是我使用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');
}
Run Code Online (Sandbox Code Playgroud)
问题是,我目前正在测试的时区是欧洲/赫尔辛基,它是UTC + 2(没有夏令时),但是由于某种原因timezone_name_from_abbr()决定2 * 3600是欧洲/巴黎。我真的对日期和时区感到很失望,请务必提供帮助!