UIコンポーネント-「Ymd H:i:s」形式(ISO時間形式)で時間を表示します


9

UIコンポーネントごとにいくつかの管理者リストページを作成します。すべての時間列のデフォルトの時間形式は次のようになります。

デフォルトの時刻形式

以下のようなUIコンポーネントコード

<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時間形式)。これが表示したいものです。

ここに画像の説明を入力してください

では、UIコンポーネントで「Ymd H:i:s」形式(ISO時間形式)に時間を表示するにはどうすればよいですか。アドバイスをありがとう:)


ご不明な点がございましたら、お気軽にお問い合わせください。お手伝いさせていただきます。
Siarhey Uchukhlebau

@SiarheyUchukhlebauどうもありがとうございました:)あなたの答えはすでに機能しており、承認して賛成票を投じます。
Key Shang

回答:


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'
    },
...

更新:

また、年のYYYYではなくyの使用にも注意してください。日付コンポーネントはICU日付形式を使用します

ソース

したがって、形式は少し異なるはずです。これは適切だと思います:

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

5

あなたは、日付書式を追加する必要があるdateFormatとして、列の値をYYYY-MM-DDのHH:MM:SSICUの日付時刻形式を

詳細については、以下のリンクをご覧ください。

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

年のM月

M 9

MM 09

9月

MMMM 9月

MMMMM S

月のd日

dd 02

そして、YYYY年

したがって、コードの日付形式の行は次のとおりです。

<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"> YYYY-MM-dd </ item>上記のコード行で試しましたか?
Ashish Raj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.