我怎样才能得到用户的本地时间,而不是服务器的时间?

我怎样才能得到客户端的时间? 当我使用date()它返回服务器的时间。

正如大家所提到的,PHP只显示服务器端的时间。

对于客户端,你会需要Javascript,像下面这样的应该做的伎俩。

 var currentTime = new Date(); var hours = currentTime.getHours(); var minutes = currentTime.getMinutes(); if (minutes < 10) { minutes = "0" + minutes; } document.write("<b>" + hours + ":" + minutes + " " + "</b>"); 

如果你想AM / PM后缀,应该像下面这样:

 var currentTime = new Date(); var hours = currentTime.getHours(); var minutes = currentTime.getMinutes(); var suffix = "AM"; if (hours >= 12) { suffix = "PM"; hours = hours - 12; } if (hours == 0) { hours = 12; } if (minutes < 10) { minutes = "0" + minutes; } document.write("<b>" + hours + ":" + minutes + " " + suffix + "</b>"); 

以下是您可能会使用的其他JavaScript DateTime函数的列表 。

这是一个“PHP”解决scheme:

 echo '<script type="text/javascript"> var x = new Date() document.write(x) </script>'; 

您可以使用IP地址定位来确定用户所在的国家/地区,然后使用该地址。

但使用Javascript或让用户select一个时区可能会更好。

由于PHP在服务器端运行, 因此无法从PHP访问客户端时间 :PHP对浏览器的了解不多, 而且可以运行PHP脚本,而无需从浏览器调用。

但是, 您可以从Javascript (在客户端执行) 获取它 ,然后通过Ajax请求将其传递给PHP。

这里有几个问题+答案,可以帮助你开始:

  • 使用JavaScript或PHP自动检测用户当前的本地时间
  • 我怎样才能确定一个networking用户的时区?

据我所知,PHP只是服务器端。

你可能想使用JavaScript。