所需建议:使用服务器时间或用户机器的时间
Advice needed: Use server time or user machine's time?
我想制作一个页面,根据一天中的时间,用经典的"早安/晚上"向用户打招呼。但是,我知道我不能只获得服务器时间,因为例如,如果日本用户查看了该页面,它可能会在凌晨 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获取用户时区?以获取一些想法。
相关文章:
- 获取用户按键的时间
- 确定用户按下键(onKeyUp)后的时间量
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 获取用户和服务器时间之间的时间差
- 有关如何安全地记录用户回答测验挑战所需的时间的想法
- 当用户在文本框中输入日期时,如何计算一年的持续时间
- 关于用户界面:目标跟踪和运动时间研究
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- 用户如何获取两个时间戳之间的对象
- 即使用户正在导航到其他页面,也要在一段时间后打开弹出窗口
- 使用JavaScript将日期/时间添加到我的asp.net用户控件中
- 使用JS检查用户是否在EST时区和设置的EST时间范围内
- 如何定义搜索词框来搜索用户'使用Twitter流API和meter.js的特定时间线
- RUM(真实用户监控)用户感知的负载时间和位置
- 所需建议:使用服务器时间或用户机器的时间
- Facebook弹出窗口会记住用户喜欢的时间
- 计算服务器和用户时间之间的差异
- 授予用户帐户访问权限一段时间
- 每次用户点击按钮时,将“时间”存储在Firebase中
- 在更短的时间内使用javascript将用户重新编辑到另一个页面