Componente da interface do usuário - exibe a hora no formato 'Ymd H: i: s' (formato de hora ISO)

9

Crio algumas páginas de listagem de administradores por componente da interface do usuário, o formato padrão da hora na coluna de horário, como abaixo

formato de hora padrão

Os códigos dos componentes da interface do usuário, como abaixo

<column name="created_at" class="Magento\Ui\Component\Listing\Columns\Date">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="filter" xsi:type="string">dateRange</item>
            <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
            <item name="dataType" xsi:type="string">date</item>
            <item name="label" xsi:type="string" translate="true">Created At</item>
        </item>
    </argument>
</column>

O formato da hora no banco de dados está correto (formato de hora ISO), é isso que quero exibir.

insira a descrição da imagem aqui

Então, como exibir a hora no formato " Ymd H: i: s " (formato de hora ISO) no componente da interface do usuário? Obrigado por qualquer conselho :)

Key Shang
fonte
Como você tem alguma dúvida, não hesite em entrar em contato comigo. Vou tentar ajudá-lo.
Siarhey Uchukhlebau
@SiarheyUchukhlebau Muito obrigado :) Sua resposta já está funcionando, aceite e vote.
Key Shang

Respostas:

11

Tente alterar o dateFormatvalor da sua coluna:

<column name="created_at" class="Magento\Ui\Component\Listing\Columns\Date">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="filter" xsi:type="string">dateRange</item>
            <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
            <item name="dataType" xsi:type="string">date</item>
            <item name="label" xsi:type="string" translate="true">Created At</item>
            <item name="dateFormat" xsi:type="string">Y-MM-dd HH:mm:ss</item>
        </item>
    </argument>
</column>

O formato padrão pode ser encontrado dentro do componente da coluna Data magento/module-ui/view/base/web/js/grid/columns/date.js

return Column.extend({
    defaults: {
        dateFormat: 'MMM d, YYYY h:mm:ss A'
    },
...

Atualizar:

Observe também o uso de y em vez de AAAA durante o ano. O componente de data usa o formato de data da UTI .

Fonte

Portanto, o formato deve ser ligeiramente diferente. Eu acho que este poderia ser adequado:

<item name="dateFormat" xsi:type="string">Y-MM-dd HH:mm:ss</item>
Siarhey Uchukhlebau
fonte
5

Você precisa adicionar o dateFormatvalor do formato de data da coluna como AAAA-MM-dd hh: mm: ss , o formato de data e hora da UTI .

Dê uma olhada no link abaixo para obter mais detalhes:

http://userguide.icu-project.org/formatparse/datetime

M mês no ano

M 9

MM 09

MMM Sep

MMMM Setembro

MMMMM S

d dia no mês

dd 02

E AAAA por ano

Portanto, a linha de código do formato da data é:

<item name="dateFormat" xsi:type="string" translate="true">YYYY-MM-dd hh:mm:ss</item>

Você pode tentar o código abaixo para sua coluna e dados da data:

<column name="purchase_date" class="Magento\Ui\Component\Listing\Columns\Date">
    <argument name="data" xsi:type="array">
        <item name="config" xsi:type="array">
            <item name="label" xsi:type="string" translate="true">Created At</item> 
            <item name="filter" xsi:type="string">dateRange</item>
            <item name="component" xsi:type="string">Magento_Ui/js/grid/columns/date</item>
            <item name="dataType" xsi:type="string">date</item>
            <item name="dateFormat" xsi:type="string" translate="true">YYYY-MM-dd hh:mm a</item>
        </item>
    </argument>
 </column>
Ashish Raj
fonte
Eu quero exibir apenas a data usando o modificador, mas não está funcionando
Jaisa
<item name = "dateFormat" xsi: type = "string" translate = "true"> AAAA-MM-dd </item> Você tentou com a linha de código acima?
Ashish Raj