php国家特定时区

时间:2018-01-08 12:34:51

标签: php mysql

我正在建立一个将在不同国家/地区访问的网站。如何为每个国家/地区时区制作特定时间。例如,尼日利亚是GMT + 1,而加纳是GMT。我如何在尼日利亚下午6点显示时间为下午5点从加纳访问该网站的人

3 个答案:

答案 0 :(得分:1)

你可以看到链接: http://php.net/manual/en/timezones.php

并在您的PHP代码中使用,您将使用:

date_default_timezone_set('Europe/Kiev');

或您需要的任何国家/地区。

答案 1 :(得分:0)

此过程包含以下几个步骤:

  1. 在您的代码和数据库中使用GMT,否则在UTC中知道。
  2. 通过IP或用户数据检测访问者的国家/地区。
  3. 输出将UTC转换为访客所在国家/地区当地时间的时间(请参阅Ghaly Saqqal的答案)。
  4. 如果您遇到任何特定步骤有困难,可以提出相关问题。

答案 2 :(得分:0)

确定我所看到的时区的最流行(==标准?)方式只是询问用户自己。如果您的网站需要订阅,则可以将其保存在用户的个人资料数据中。对于匿名用户,日期可以显示为UTC或GMT或某些此类。或

new Date().getTimezoneOffset()/60;

getTimezoneOffset()将从GMT中减去您的时间并返回分钟数。因此,如果你住在GMT-8,那么它将返回480.要把它分成几小时,除以60.另外,请注意标志与你需要的相反 - 它是计算GMT与你的时区的偏差,而不是你的时区偏离GMT。要解决这个问题,只需乘以-1即可。 然后使用一些ajax来设置访客的时区