需要的建议:使用服务器时间或用户机器的时间?

时间:2013-11-16 00:36:28

标签: javascript php timezone locale

我想制作一个页面,用经典的“早晚好”来迎接用户,具体取决于一天中的时间。但是,据我所知,我不能只获得服务器时间,因为如果日本用户查看该页面,可能会在凌晨5点收到“下午好”,这显然不正确:)

我可以使用PHP / JS在用户的机器上获取时间吗?如果有,我应该看一下什么功能?此外,如果需要JS,我如何检测用户是否有脚本阻止程序?

对于noobish问题感到抱歉,我刚开始学习网络编程。任何帮助将不胜感激。 :)

干杯! - jfabian

3 个答案:

答案 0 :(得分:2)

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>")

答案 1 :(得分:1)

您可以使用以下命令在javascript中获取用户的时区:

new Date().getTimezoneOffset() * -1

答案 2 :(得分:1)

我的建议是让您的PHP页面返回UTC时间,例如与gmdate() 使用UTC时间查看get UTC time in PHP,您不必太担心夏令时等问题。

然后在您的javascript中,您将确定用户的时区偏移量。你可以用

new Date().getTimezoneOffset() 

或者对于更高级的时区内容,您可以使用javascript库,有关一些想法,请参阅How to get user timezone using jquery?