我认为,在一个高度本地化的社区中,应该允许为 Discourse 的“蛋糕日”指定时区。更改服务器时区并不是我们真正能做的事情。
这确实是个棘手的问题,即使我们现在允许用户指定“时区”,我也不确定该如何解决。
假设你在澳大利亚注册了一个论坛,时间是2019 年 1 月 2 日上午 8 点。
-
根据“蛋糕日”计算,你的 1 周年纪念日将是
2010 年 1 月 1 日。 -
当你在 1 月 2 日上午 8 点访问纪念日页面时,你会看到来自
2010 年 1 月 1 日的纪念日,而不是 2 日。
我想我们这里的要求是,使用用户在个人资料中定义的“本地”时区来处理相关事宜。
意思是:
-
你的 1 周年纪念日应该是
2019 年 1 月 1 日,因为你的用户个人资料中的本地时区是澳大利亚。 -
当你在 2 日访问纪念日页面时,你应该看到 2 日。
目前,我支持一个简单的修复方案:在渲染纪念日页面时,查看当前用户的本地时区,并针对已登录用户的情况,使用该日期而不是 UTC 当前日期。这应该是一个很容易的改动,可能只需要两行代码。
@techAPJ 你能处理一下吗?