1

我正在用 CakePHP 构建一个博客引擎,我想显示当前访问者的文章相对于他们一天中的当地时间。

对于现在是早上的访问者,我将展示与开始你的一天相关的文章和一夜之间发生的新闻项目。

对于现在是晚上的游客,我将展示一些文章,回顾白天的重大事件的亮点。

我能想到的唯一可能的解决方案是通过 Javascript 将他们当前的时区发送到服务器,但这只能在网页加载后发生。在 CakePHP 应用程序为索引操作呈现分页视图时,我该如何做到这一点?

4

1 回答 1

2

不完全确定 php,但是这适用于所有语言。您最好在 GMT 中存储差异以供用户使用

 i copied syntax from internet
    var d = new Date()
    var n = d.getTimezoneOffset();

现在在第一页,在页面加载时运行此代码,并使用 ajax 或任何东西将 n 的值存储在 DB 中。所以,每当您的用户登录时,您都会获得时间差异,直到他/她注销。使用该 DB 值(存储在会话中以获得更好的效果使用)进一步处理。

进一步创建功能,如

addGMTDiff()
{
  // fetch stored value for difference and return
}

在每个获取 UTC 时间的 sql 查询之后调用此函数。

于 2013-08-08T11:37:43.840 回答