我想制作一个页面,根据一天中的时间,用经典的"早安/晚上"向用户打招呼。但是,我知道我不能只获得服务器时间,因为例如,如果日本用户查看了该页面,它可能会在凌晨 5 点收到"下午好",这显然是不正确的:)
我可以使用 PHP/JS 获取用户机器中的时间吗?如果是这样,我应该看什么功能?另外,如果需要 JS,如何检测用户是否具有脚本阻止程序?
很抱歉菜鸟问题,我刚刚开始学习网络编程。任何帮助将不胜感激。:)
干杯!- 杰法比安
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>")
您可以使用以下命令在 JavaScript 中获取用户的时区:
new Date().getTimezoneOffset() * -1
我的建议是让你的PHP页面返回UTC时间,例如使用gmdate()请参阅在 PHP 中使用 UTC 时间获取 UTC 时间,您不必担心夏令时等事情。
然后在你的javascript中,你将确定用户的时区偏移量。你可以使用
new Date().getTimezoneOffset()
或者对于更高级的时区内容,您可以使用JavaScript库,请参阅如何使用jquery获取用户时区?以获取一些想法。