PHP获取用户的时区

Posted

技术标签:

【中文标题】PHP获取用户的时区【英文标题】:PHP get user's timezone 【发布时间】:2013-11-22 19:27:26 【问题描述】:

更改服务器后,我收到以下错误...

<b>Warning</b>:  date() [<a href='function.date'>function.date</a>]: It is not
safe to rely on the system's timezone settings. You are *required* to use the
date.timezone setting or the date_default_timezone_set() function. In case you
used any of those methods and you are still getting this warning, you most
likely misspelled the timezone identifier. We selected 'America/New_York' for
'EST/-5.0/no DST' instead in <b>/sessions.php</b> on line <b>8001</b>

此错误消息所指的行是...

$date = date('Y-m-d G:i:s');

我不确定它是如何工作的?

那么我如何获取用户的时区,然后将其设置为内置 PHP 变量或与 date() 一起使用?

【问题讨论】:

PHP: System Timezone Setting error 和 timezone problem - php 的可能重复 旁注: $date = $date = date() ?重新声明$date ? “如果您在我的任何内容中看到不直观/愚蠢的内容,请注意它;已被其他人编辑”我认为这里不是这种情况。不知道为什么您的 [code] 被错误地标记为 SO。该错误有什么令人困惑的地方? 您可以使用 PHP-GEOIP 获取用户的时区。参考这个链接,希望对php.net/manual/en/intro.geoip.php有帮助 【参考方案1】:

如警告所述,您应该:

    在 php.ini 中设置date.timezone;或 在调用date()之前设置date_default_timezone_set()

【讨论】:

【参考方案2】:

在你的 php.ini 文件中设置时区

【讨论】:

以上是关于PHP获取用户的时区的主要内容,如果未能解决你的问题,请参考以下文章

PHP获取用户的时区

获取用户时区相关日期[重复]

php 如何 获取 数字 时区,比如+8 -8

php如何获取服务器所在的时区?

如何通过PHP中的IP地址获取时区[重复]

PHP获取当前时间戳,当前时间及解决时区问题