Como alterar os dados da postagem de dados relativos para absolutos

Olá equipe,
quero modificar o formato dos dados da postagem para AAAA-MM-DD HH:mm
Modificar no JavaScript do frontend não parece razoável

  1. Posso usar um tema para substituir este horário?
  2. como posso modificar isso no e-mail também (agora ele só exibe dados)

Todos os formatos de data estão disponíveis para personalização, juntamente com outros textos. Confira este guia:

obrigado pela sua resposta, David
Eu vi essa configuração personalizada, mas parece que não a encontro aqui.
Quero exibir o formato de hora de todas as postagens como hora absoluta. Por exemplo, a postagem do meu tópico atual ‘3h’ é exibida como ‘12 de maio 17:33’


você sabe qual é a melhor maneira para eu alterar todos os dados de postagem para o formato YYYY-MM-DD HH:mm, mesmo que sejam postados em alguns minutos

Ah, entendi!

Nesse caso, você poderia tentar alterar a configuração do site “relative date duration”.

relative_date_duration: Número de dias após a postagem em que as datas das postagens serão mostradas como relativas (7d) em vez de absolutas (20 de fev).

Então, acho que no seu caso, você definiria como 0.

sim,
Eu configurei para 0, mas ainda não tem efeito agora. Será que leva algum tempo ou preciso usar rake posts:rebake como fazemos após alterar o domínio?

Deve ser necessário apenas atualizar a página para que tenha efeito. Fez alguma diferença? Como estão suas datas de postagem agora?

Tenho uma atualização completa da página, ainda exibe ‘36’

e a configuração é 0

Hmm, parece que datas que ocorreram há menos de 23,5 horas são sempre mostradas como relativas, independentemente dessa configuração:

Portanto, sua alteração na configuração se aplicou a postagens com mais de 1 dia. Mas não parece que atualmente temos uma maneira de alterar o comportamento de coisas que ocorreram há menos de um dia.

Eu vejo este arquivo
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>

este é o template correto, posso alterá-lo por um componente de tema?

Não, você não pode substituir os modelos .gjs, infelizmente (destinado a melhorar e incentivar a estabilidade das substituições)

Bem-vindo de volta. @aksoforever!

Como você está lidando com isso? Você pode nos contar um pouco mais sobre seu caso de uso?

Por que você gostaria de impor datas tão longas e absolutas aos seus membros? As datas “há quanto tempo” são bastante amigáveis ao olho e transmitem a informação que você precisa para saber quão antigo é um post. Passar o mouse sobre ela mostra o timestamp explícito.

Obrigado pela sua atenção @tobiaseigen

Sim, agora a exibição do Discourse está muito moderna e amigável, e mais adequada para a maioria das pessoas

Somente para um pequeno número de pessoas que usam com frequência que usar o tempo absoluto parece mais rápido e mais direto.

Em relação ao horário no e-mail, agora mostra apenas o mês e o dia.
Não é amigável usar o e-mail para visualizar informações. Ele não mostra o ano, especialmente ao revisar informações de muitos anos atrás.

Atualmente estou usando uma versão downgraded do Discourse e reescrevendo o código do front-end usando componentes

O email usa o seguinte em um plugin, posso modificar o short_date a partir de um componente do tema?

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