hewo7
1
当我使用“插入日期”按钮创建日期时,会生成类似以下内容:
[date=2019-08-20 time=20:00:00 timezone="Europe/Berlin"]
我的时区是 Europe/Berlin。但生成的 HTML 结果显示的是“22:00”而不是“20:00”。
当我将生成的代码修改为:
[date=2019-08-20 time=20:00:00 timezone=Europe/Berlin]
一切就正常工作了。
在 meta.discourse.org 上该功能表现正确。我的论坛版本为 v2.4.0.beta2 +316。
谢谢
我们在这里试试,我在法国,但时区相同
[date=2019-08-20 time=20:00:00 timezone="Europe/Paris"]
2019-08-20T18:00:00Z
[date=2019-08-20 time=20:00:00 timezone=Europe/Paris]
2019-08-20T18:00:00Z
结果是
Stephen
(Stephen)
3
您是否将服务器时间/时区重新配置为 UTC 以外的时间?
hewo7
4
是的,正如我在这里写的,它确实有效。我想问题出在从这里的版本到我的版本之间的差异上。我记得在我进行几次更新之前,它就已经可以正常工作了。
j.jaffeux
(Joffrey Jaffeux)
6
您的浏览器是什么?这与您的服务器无关,但您的电脑时钟是否正确配置?
hewo7
7
我在 Windows、Linux 和 Android 系统上测试了 Firefox 以及 Chrome/Chromium 浏览器,每个浏览器的表现都相同。另外,我的时区始终设置为 Europe/Berlin。
j.jaffeux
(Joffrey Jaffeux)
8
请在当前浏览 Discourse 论坛的浏览器控制台中尝试以下操作:
moment.tz.guess()
hewo7
9
返回:"Europe/Berlin"
在我的论坛以及 meta.discourse.org 上都是如此。
我遇到了完全相同的问题!不加引号时一切正常。但 Discourse 编辑器总是生成带引号的“Europe/Berlin”,而不是不带引号的 Europe/Berlin,导致预览时显示的时间错误。这个问题能修复吗?
j.jaffeux
(Joffrey Jaffeux)
13
无论我在 Chrome 还是 Firefox 上尝试,都无法复现。需要进一步排查。
我在 Safari 上遇到了这个问题,尚未尝试 Chrome 或 Firefox。
关于此问题有任何更新吗?
我遇到了与上述相同的情况。一旦我去掉引号,一切就正常了。但当我使用引号时,系统似乎会根据我的客户端所在的时区对 UTC 时间进行加减。
顺便提一下,当我在时区参数中写入无意义的值时,这里也会出现同样的问题:
[date=2019-08-20 time=20:00:00 timezone="nonsense"]
或
[date=2019-08-20 time=20:00:00 timezone=nonsense]
2019-08-20T20:00:00Z
我也遇到了完全相同的问题。这看起来或多或少是“德语”安装引发的问题。
有趣的是,我尝试通过访问 domain.de/wizard 来重置设置,在那里我将区域设置更改为“英语(美国)”,并完成了整个向导。使用英语设置时,我可以粘贴时间,并且它们会正确显示。例如,我输入的是德国时间的 23:15,但系统显示为“明天晚上 11:15(欧洲/柏林)”,这是正确的。
当我将论坛向导重新设置回“德语”,并粘贴一个新的带时间的预约时,那个“加 1 小时”的问题又出现了。(在英语设置下粘贴的时间仍然显示正确)。
因此,这似乎不是服务器时间的问题。问题似乎出在欧洲时区与 UTC 之间的本地化转换过程中。
如果需要,我很乐意进行测试或提供更多建议。
我使用的是 Docker 部署的 Discourse。
感谢进一步的帮助!
一个小补充,我意识到我的安装与官方版本之间存在一个“小”差异。
我们禁用了“允许用户语言设置”选项。因此,用户无法自行更改语言。我不知道这是否有帮助。
其他遇到相同问题的用户,即 @Daniel_Tesla、@lorddevil、@zogstrip 和 @hewo7,请问你们的用户能否更改其界面语言设置?或者在德语中,位于“设置”>“常规设置”下的“允许用户语言设置”:“允许用户选择自己的界面语言”。
当前区域设置会影响时区,这很奇怪🤔
@j.jaffeux 你最近的修复是否解决了这个问题?
如有需要,我很乐意在测试和调试方面提供进一步协助。如果团队中有人想深入了解该主题,请随时联系。
j.jaffeux
(Joffrey Jaffeux)
23
这应该可以通过以下方式修复:
感谢提供信息
更多背景:当 Discourse 实例设置为德语区域设置时,我们会将引号 " 替换为德语引号 „“,这导致我们的解析器出错。
@gerhard 我暂时直接在 local-dates 中进行了修复,您认为我们是否应该尝试在更上层的链条中修复这个问题?
- 在发送匹配字符串之前,在
parseBBCodeTag 本身中?
- 还是在美化文本中?