Компонент пользовательского интерфейса - отображать время в формате «Ymd H: i: s» (формат времени ISO)


9

Я создаю несколько страниц со списком администратора по компонентам пользовательского интерфейса, формат времени по умолчанию в их столбце времени, как показано ниже

формат времени по умолчанию

Коды компонентов пользовательского интерфейса, как показано ниже

<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>

Формат времени в базе данных правильный (формат времени ISO), это то, что я хочу отобразить.

введите описание изображения здесь

Итак, как отобразить время в формате « Ymd H: i: s » (формат времени ISO) в компоненте пользовательского интерфейса? Спасибо за любой совет :)


Поскольку у вас есть какие-либо вопросы, не стесняйтесь связаться со мной. Я постараюсь вам помочь.
Сергей Учухлебау

@SiarheyUchukhlebau Большое спасибо :) Ваш ответ уже работает, примите и проголосуйте.
Ключ Шан

Ответы:


11

Попробуйте изменить dateFormatзначение вашего столбца:

<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>

Формат по умолчанию может быть найден внутри компонента столбца Дата magento/module-ui/view/base/web/js/grid/columns/date.js

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

Обновить:

Также обратите внимание на использование y вместо YYYY для года. Компонент даты использует формат даты ICU .

Источник

Итак, формат должен немного отличаться. Я думаю, что этот может подойти:

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

5

Вам необходимо добавить dateFormatзначение формата даты столбца в виде ГГГГ-ММ-дд чч: мм: сс , формат даты и времени ICU .

Посмотрите на ссылку ниже для более подробной информации:

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

М месяц в году

М 9

MM 09

МММ сентябрь

ММММ сентябрь

МММММ С

д день в месяце

дд 02

И ГГГГ за год

Итак, строка формата даты:

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

Вы можете попробовать код ниже для вашего столбца даты и данных:

<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>

я хочу отображать только дату с помощью модификатора, но она не работает
Jaisa

<item name = "dateFormat" xsi: type = "string" translate = "true"> ГГГГ-ММ-дд </ item> Вы пробовали использовать приведенную выше строку кода?
Ашиш Радж
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.