书签提醒下周一的日期错了一天

你好,

书签功能中存在一个小错误。有一个选项可以设置“下周一”的提醒,但日期显示为5月18日,而不是5月17日:

我们的 Discourse 服务器由 Discourse 托管:https://keskustelut.inderes.fi/

4 个赞

我的显示是18号,所以可能是时区问题。不过对我来说,列表里“下周一”排在“下周”前面还是有点奇怪,因为这在时间顺序上是不对的。(我猜这应该只在周日出现。)

3 个赞

您在用户偏好设置中设置了哪个时区?您的时区最近是否发生了“夏令时”调整?cc @martin

2 个赞

我不确定在哪里查看我们的时区,但我找到了可能与这个问题相关的内容?
我们位于芬兰,我们的时区是 EEST(夏令时),比 UTC 快 3 小时。
芬兰于 2020 年 3 月 28 日切换至 EEST,冬季则为 +2 EET。

1 个赞

这可能与不同本地化版本的周起始日不同有关——我今天会查看一下。

7 个赞

好吧,我对本地化的猜测很接近。你链接的论坛确实有芬兰语本地化,但我当时没意识到,如果给 moment.js 的 .day() 函数传入字符串进行解析,该函数是依赖于语言环境的。我传入的是字符串 “Monday”(芬兰语为 “maanantai”),导致解析失败,moment.js 因此回退到了周日。

我已在下方的 PR 中修改为使用数字 1,无论语言环境如何,它都始终代表周一。

https://github.com/discourse/discourse/pull/9737

另外补充一点,“下周”只是“今天加 7 天”,因此语言环境在此处并不影响结果。

10 个赞