我想制作一个页面,用经典的“早晚好”来迎接用户,具体取决于一天中的时间。但是,据我所知,我不能只获得服务器时间,因为如果日本用户查看该页面,可能会在凌晨5点收到“下午好”,这显然不正确:)
我可以使用PHP / JS在用户的机器上获取时间吗?如果有,我应该看一下什么功能?此外,如果需要JS,我如何检测用户是否有脚本阻止程序?
对于noobish问题感到抱歉,我刚开始学习网络编程。任何帮助将不胜感激。 :)
干杯! - jfabian
答案 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?。