大家好:
我想将帖子数据格式修改为 YYYY-MM-DD HH:mm
在前端 JavaScript 中修改似乎不合理
1.我可以使用主题来覆盖这个时间吗?
2.我该如何在电子邮件中修改(现在只显示日期)?
所有日期格式以及其他文本均可自定义。请参阅此指南:
谢谢你的回复,David
我看到了这个自定义设置,但似乎在这里找不到。
我想将所有帖子的时间格式显示为绝对时间。例如,当前我的主题帖子“3h”显示为“12 May 17:33”
你知道有什么好方法可以将所有帖子数据更改为 YYYY-MM-DD HH:mm 格式,即使帖子发布了几分钟吗?
哦,我明白了!
在那种情况下,你可以尝试更改“相对日期持续时间”网站设置。
relative_date_duration: 发布后显示为相对日期(如7天)而非绝对日期(如2月20日)的天数。
所以我认为对于你的情况,你可以将其设置为 0
是的,
我已经将它设置为 0,但现在仍然不起作用。它需要一些时间还是我需要像更改域名后那样执行 rake posts:rebake?
只需刷新页面即可生效。它是否带来了任何改变?现在你的发帖日期看起来怎样?
嗯,看起来距离现在不到 23.5 小时的时间戳总是会显示为相对时间,无论该设置如何:
因此,您对该设置的更改将应用于超过 1 天的帖子。但似乎我们目前没有办法改变一天以内内容的显示行为。
我看到了这个文件
discourse-main/app/assets/javascripts/discourse/app/components/post/meta-data/date.gjs
<template>
<div class="post-info post-date">
<a
class={{concatClass
"post-date"
(if (and @post.wiki @post.last_wiki_edit) "last-wiki-edit")
}}
href={{@post.shareUrl}}
title={{i18n "post.sr_date"}}
{{on "click" this.showShareModal}}
>
<RelativeDate @date={{this.date}} />
</a>
</div>
</template>
这是正确的模板吗,我可以通过主题组件来修改它吗?
不,您无法覆盖 .gjs 模板,不幸的是(旨在提高和鼓励覆盖的稳定性)
欢迎回来。@aksoforever!
你在处理这个问题时进展如何?能不能告诉我们更多关于你的用例?
为什么你会想对你的成员设置如此长的绝对日期?"多久以前"的日期在视觉上更友好,还能传达你需要知道一则帖子有多旧的信息。将鼠标悬停在上面会显示明确的时间戳。
感谢您的关注 @tobiaseigen
是的,现在Discourse的显示非常现代和友好,更适合大多数人
只有少数经常使用它的人觉得使用绝对时间更快、更直接。
关于邮件中的时间,现在只显示月份和日份。
使用电子邮件查看信息并不用户友好,尤其是在查看多年前的信息时,没有显示年份。
我目前正在使用降级版的Discourse,并用组件重写前端代码
电子邮件在插件中使用以下内容,我可以从主题组件修改short_date吗?
after_initialize do
if SiteSetting.custom_email_date_format_enabled
module ::EmailHelper
def short_date(datetime)
china_time = datetime.in_time_zone("Asia/Shanghai")
china_time.strftime("%Y-%m-%d %H:%M")
end
end
end
end


