php特定于国家/地区的时区

ecbunoof  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(384)

这个问题在这里已经有了答案

php中使用时区函数的时差(1个答案)
两年前关门了。
我正在建立一个网站,将在不同的国家访问。如何使每个国家时区的时间具体化。例如,尼日利亚是gmt+1,而加纳是gmt。对于从加纳访问网站的人,如何显示尼日利亚的时间是下午6点,而加纳的时间是下午5点

vecaoik1

vecaoik11#

您可以看到链接:http://php.net/manual/en/timezones.php
要在php代码中使用,您将使用:

date_default_timezone_set('Europe/Kiev');

或者任何你需要的国家。

e5njpo68

e5njpo682#

我见过的确定时区的最流行的方法就是简单地询问用户自己。如果您的网站需要订阅,可以将其保存在用户的配置文件数据中。对于其他用户,日期可以显示为utc或gmt或类似的格式

new Date().getTimezoneOffset()/60;

gettimezoneoffset()将从gmt中减去时间并返回分钟数。所以如果你住在gmt-8,它会返回480。把这个数除以60。另外,注意这个符号和你需要的正好相反——它计算的是gmt与你所在时区的偏移量,而不是你所在时区与gmt的偏移量。要解决这个问题,只需乘以-1。然后使用ajax设置访问者的时区

f1tvaqid

f1tvaqid3#

在这个过程中有几个步骤:
在代码和数据库中使用gmt,否则请使用utc。
通过ip或用户数据检测访问者的国家/地区。
输出时间时,将utc转换为访客所在国家的当地时间(参见ghaly saqqal的答案)。
如果你在这些具体步骤中遇到困难,你可以问一个问题。

相关问题