Bagaimana cara mencetak format tanggal khusus di Ranting?


14

Bagaimana saya bisa mencetak format tanggal khusus di Ranting? Pertama-tama saya mencoba untuk mengedit field.html.twigbidang yang disebut field_publication_date, dalam file itu saya menemukan variabel ini {{ item.content }}yang dicetak Jun, 12/06/2016 - 12:29.

Inilah yang saya coba: {{ item.content.field_publication_date|format_date('M') }}

Jawaban:


16

Coba gunakan ini -

{{ item.content.field_publication_date|date("M") }}

Tapi, saya pikir Anda akan mendapatkan solusinya

{{ item.content|date("M") }}

Di mana item.contentberisi string tanggal di dalam bidang - simpul - bidang-publikasi-date.html.twig .


2
format_dateseharusnya fungsinya, merujuk format tanggal dari Drupal
Kevin


1
Terima kasih. Opsi pertama bekerja untuk saya {{item.content.field_publication_date | date ("M")}}
Ricardo Castañeda

2
Jika ini adalah bidang tanggal, mengapa pengaturan formatter bidang tidak cukup? Juga jika stempel waktu, format_date adalah filter ranting Drupal, Anda dapat mengirimkan format tanggal khusus ke: drupal.org/docs/8/theming/twig/…
Kevin

1
@ kevin Saya pura-pura menggunakan tampilan suite dan dengan token menunjukkan tanggal dalam div yang berbeda. Tetapi entah bagaimana tanggal khusus tidak berfungsi untuk saya.
Ricardo Castañeda

14

Pertama, buat format tanggal khusus my_custom_date_formatdi bagian konfigurasi admin drupal.

Kedua, gunakan format_datefilter Twig, seperti di sini:

{{ node.created.value|format_date('my_custom_date_format') }}

Mungkin perlu mengubah tanggal menjadi cap waktu unix, pertama. Itu akan terlihat seperti ini:

{{ node.my_date_field.value|date('U')|format_date('my_custom_date_format') }}

1
Contoh kode kedua tidak berfungsi untuk saya, karena "nilai" pada larik konten (content.field_date.value) adalah nol. Saya menduga itu muncul atau tidak berdasarkan formatter tampilan yang digunakan untuk bidang itu. Saya harus menggunakan node.field_date.value|date('U')sebagai gantinya.
George

@ George benar, .valuekuncinya biasanya hanya tersedia untuk bidang dari entitas seperti node, useratau paragraph, tetapi tidak di dalam render array ( content). Saya mengedit contoh ke-2 untuk menggunakan nodevariabel
Hudri

2

The \Drupal\datetime\Plugin\Field\FieldType\DateTimeItemmemiliki nilai dan properti date. Ini valueadalah UTC dan datedihitung. Gunakan properti tanggal untuk menghindari keharusan berurusan dengan zona waktu, dan Anda dapat menggunakan format yang dibuat atau yang khusus:

{{ node.field_publication_date.date|format_date('custom', 'F j, Y') }}

Format tanggal dalam Drupal:

{{ node.field_publication_date.date|format_date('my_custom_date_format') }}


Inilah yang bekerja untuk saya: {{node.field_event_date.date | date ('U') | format_date ('custom', 'F j, Y')}}
arnoldbird

Hai @arnoldbird, bisakah Anda menjelaskan kepada saya apa yang date('U')terjadi?
Aman Devrath


0

Ini berhasil untuk saya. Nilai tanggal dengan fungsi format date () sendiri ranting:

{{ content.field_arrival_date.value | date("Y/m/d") }}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.