【问题标题】:using localtime function to get users local time in php使用localtime函数在php中获取用户本地时间
【发布时间】:2014-12-08 00:22:32
【问题描述】:

我正在尝试找到一种方法来使用 php 获取用户的本地时间,而不是依赖于php.ini 中设置的时区。我找到了函数localtime(),但这不起作用,它仍然根据php.ini 中设置的时区为我提供时间。我开始相信本地时间无法使用服务器端脚本访问,因为它可以使用客户端脚本,下面是我尝试过的,但没有工作。感谢阅读

$time = localtime(time(),true);

$h = $time['tm_hour'];
$m = $time['tm_min'];
$s = $time['tm_sec'];

$localTime = $h.":".$m.":".$s; 

【问题讨论】:

  • 你是对的,客户端的时区/本地时间在服务器端是不可用的,除非客户端明确告诉服务器它是什么
  • 我是这么认为的,虽然看起来很奇怪 php 会有一个名为 localtime 的函数。有点误导
  • 是服务器运行PHP代码的本地时间,函数与C标准库同名...
  • 我明白了。感谢您的信息。

标签: php localtime


【解决方案1】:

如果您无法获取用户的位置并且拥有一个将该信息映射到时区的数据库,那么您通常会很不走运。

但是,如果您在 html 上下文中,您可以使用 javascript 获取请求的信息(并将其发送回服务器):

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;

Read more @ MDN

使用此信息,您可以使用基本日期函数在服务器端构建用户本地时间。

【讨论】:

  • 感谢您的建议。我不认为我会采取这样的措施,这对网站来说并不重要,它只会更有意义。 +1
猜你喜欢
  • 2020-11-06
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 2020-04-03
  • 1970-01-01
相关资源
最近更新 更多