UI-Komponente - Zeigt die Zeit im Format 'Ymd H: i: s' (ISO-Zeitformat) an.

9

Ich erstelle einige Admin-Listingseiten nach UI-Komponenten, dem Standardzeitformat in ihrer Zeitspalte, alle wie unten

Standardzeitformat

Die UI-Komponentencodes wie unten

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

Das Zeitformat in der Datenbank ist richtig (ISO-Zeitformat), das möchte ich anzeigen.

Geben Sie hier die Bildbeschreibung ein

Wie kann die Zeit im Format " Ymd H: i: s " (ISO-Zeitformat) in der UI-Komponente angezeigt werden? Danke für jeden Rat :)

Schlüssel Shang
quelle
Da Sie Fragen haben, können Sie mich gerne kontaktieren. Ich werde versuchen, dir zu helfen.
Siarhey Uchukhlebau
@SiarheyUchukhlebau Vielen Dank :) Ihre Antwort funktioniert bereits, akzeptieren und abstimmen.
Key Shang

Antworten:

11

Versuchen Sie, den dateFormatWert Ihrer Spalte zu ändern :

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

Das Standardformat kann in der Spaltenkomponente Datum angegeben werden magento/module-ui/view/base/web/js/grid/columns/date.js

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

Aktualisieren:

Beachten Sie auch die Verwendung des y anstelle des JJJJ für das Jahr. Die Datumskomponente verwendet das ICU-Datumsformat .

Quelle

Das Format sollte also etwas anders sein. Ich denke, dieser könnte geeignet sein:

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

Sie müssen den Datumsformatwert dateFormatder Spalte als JJJJ-MM-TT hh: mm: ss , das Datums- / Uhrzeitformat der Intensivstation , hinzufügen .

Weitere Informationen finden Sie unter dem folgenden Link:

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

M Monat im Jahr

M 9

MM 09

MMM Sep.

MMMM September

MMMMM S.

d Tag im Monat

dd 02

Und JJJJ für das Jahr

Die Codezeile im Datumsformat lautet also:

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

Sie können den folgenden Code für Ihre Datumsspalte und Daten versuchen:

<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
quelle
Ich möchte nur das Datum mit dem Modifikator anzeigen, aber es funktioniert nicht
Jaisa
<item name = "dateFormat" xsi: type = "string" translate = "true"> JJJJ-MM-TT </ item> Haben Sie es mit der obigen Codezeile versucht?
Ashish Raj