Thành phần UI - hiển thị thời gian sang định dạng 'Ymd H: i: s' (định dạng thời gian ISO)


9

Tôi tạo một số trang liệt kê quản trị viên theo thành phần UI, định dạng thời gian mặc định trong cột thời gian của họ như bên dưới

định dạng thời gian mặc định

Các mã thành phần UI như bên dưới

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

Định dạng thời gian trong cơ sở dữ liệu là đúng (định dạng thời gian ISO), đó là những gì tôi muốn hiển thị.

nhập mô tả hình ảnh ở đây

Vậy, làm thế nào để hiển thị thời gian sang định dạng " Ymd H: i: s " (định dạng thời gian ISO) trong thành phần UI? Cảm ơn vì lời khuyên :)


Vì bạn có bất kỳ câu hỏi nào, hãy liên hệ với tôi. Tôi sẽ cố gắng giúp bạn.
Siarhey Uchukhlebau

@SiarheyUchukhlebau Cảm ơn bạn rất nhiều :) Câu trả lời của bạn đã hoạt động, chấp nhận và bỏ phiếu.
Khóa Shang

Câu trả lời:


11

Cố gắng thay đổi dateFormatgiá trị của cột của bạn:

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

Định dạng mặc định có thể được xác định bên trong thành phần cột Ngày magento/module-ui/view/base/web/js/grid/columns/date.js

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

Cập nhật:

Ngoài ra, hãy chú ý việc sử dụng y thay vì YYYY trong năm. Thành phần ngày sử dụng Định dạng ngày ICU .

Nguồn

Vì vậy, định dạng nên hơi khác nhau. Tôi nghĩ rằng điều này có thể phù hợp:

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

5

Bạn cần thêm dateFormatgiá trị định dạng ngày của cột là YYYY-MM-dd hh: mm: ss , định dạng thời gian ngày ICU .

Hãy xem liên kết dưới đây để biết thêm chi tiết:

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

M tháng trong năm

M 9

MM 09

MMM tháng chín

MMMM tháng 9

MMMMM S

ngày d trong tháng

đ 02

Và YYYY cho năm

Vì vậy, dòng mã định dạng ngày là:

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

Bạn có thể thử mã dưới đây cho cột ngày và dữ liệu của bạn:

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

tôi muốn chỉ hiển thị ngày bằng cách sử dụng công cụ sửa đổi, nhưng nó không hoạt động
Jaisa

<item name = "dateFormat" xsi: type = "string" dịch = "true"> YYYY-MM-dd </ item> Bạn đã thử với dòng mã trên chưa?
Ashish Raj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.