Komponen UI - menampilkan waktu ke format 'Ymd H: i: s' (format waktu ISO)

9

Saya membuat beberapa halaman daftar admin dengan komponen UI, format waktu default di kolom waktu mereka semua seperti di bawah ini

format waktu default

Kode komponen UI seperti di bawah ini

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

Format waktu dalam database benar (format waktu ISO), itulah yang ingin saya tampilkan.

masukkan deskripsi gambar di sini

Jadi, bagaimana cara menampilkan waktu ke format " Ymd H: i: s " (format waktu ISO) dalam komponen UI? Terima kasih atas sarannya :)

Key Shang
sumber
Karena Anda memiliki pertanyaan, jangan ragu untuk menghubungi saya. Saya akan mencoba membantu Anda.
Siarhey Uchukhlebau
@SiarheyUchukhlebau Terima kasih banyak :) Jawaban Anda sudah berfungsi, terima, dan pilih suara.
Key Shang

Jawaban:

11

Cobalah untuk mengubah dateFormatnilai kolom Anda:

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

Format default dapat berupa sumber di dalam komponen kolom Tanggal magento/module-ui/view/base/web/js/grid/columns/date.js

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

Memperbarui:

Juga, perhatikan penggunaan y bukan YYYY untuk tahun ini. Komponen tanggal menggunakan Format Tanggal ICU .

Sumber

Jadi, formatnya harus sedikit berbeda. Saya pikir ini bisa cocok:

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

Anda perlu menambahkan dateFormatnilai format tanggal kolom sebagai YYYY-MM-dh jj: mm: dd , format waktu tanggal ICU .

Lihat tautan di bawah untuk detail lebih lanjut:

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

M bulan dalam setahun

M 9

MM 09

MMM Sep

MMMM September

MMMMM S

d hari dalam sebulan

dd 02

Dan YYYY selama setahun

Jadi baris format kode tanggal adalah:

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

Anda dapat mencoba kode di bawah ini untuk kolom tanggal dan data Anda:

<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
sumber
saya hanya ingin menampilkan tanggal menggunakan pengubah, tetapi tidak berfungsi
Jaisa
<item name = "dateFormat" xsi: type = "string" translate = "true"> YYYY-MM-dd </item> Apakah Anda mencoba dengan baris kode di atas?
Ashish Raj