Tergantung pada format yang Anda inginkan tanggalnya ditampilkan.
Format tanggal statis
Jika Anda ingin menampilkan format statis, yang sama untuk semua lokal (misalnya ISO 8601 untuk umpan Atom), Anda harus menggunakan date
filter Twig :
{{ game.gameDate|date('Y-m-d\\TH:i:sP') }}
Yang akan selalu mengembalikan datetime dalam format berikut:
2014-05-02T08: 55: 41Z
String format yang diterima oleh date
filter adalah sama dengan yang Anda gunakan untuk fungsi PHPdate()
. (satu-satunya perbedaan adalah bahwa, sejauh yang saya tahu, Anda tidak dapat menggunakan konstanta yang telah ditentukan yang dapat digunakan dalam date()
fungsi PHP )
Tanggal yang dilokalkan (dan waktu)
Namun, karena Anda ingin merendernya di browser, Anda mungkin ingin menampilkannya dalam format yang dapat dibaca manusia, dilokalkan untuk bahasa dan lokasi pengguna. Alih-alih melakukan pelokalan sendiri, Anda dapat menggunakan Ekstensi Internasional untuk ini (yang menggunakan PHP's IntlDateFormatter ). Ini menyediakan filter localizeddate
yang akan menampilkan tanggal dan waktu menggunakan format lokal.
localizeddate( date_format, time_format [, locale ] )
Argumen untuk localizeddate
:
date_format
: Salah satu format string (lihat di bawah)
time_format
: Salah satu format string (lihat di bawah)
locale
: (opsional) Gunakan ini untuk mengganti lokal yang dikonfigurasi. Biarkan argumen ini untuk menggunakan lokal default, yang dapat dikonfigurasi dalam konfigurasi Symfony.
(ada lebih banyak, lihat dokumen untuk daftar lengkap dari argumen yang mungkin)
Untuk date_format
dan time_format
Anda dapat menggunakan salah satu dari string berikut:
'none'
jika Anda tidak ingin memasukkan elemen ini
'short'
untuk gaya yang paling singkat (12/13/52 atau 3:30 sore di bahasa Inggris)
'medium'
untuk gaya sedang (12 Januari 1952 di tempat berbahasa Inggris)
'long'
untuk gaya panjang (12 Januari 1952 atau 15:30:32 dalam bahasa Inggris)
'full'
untuk gaya yang ditentukan sepenuhnya (Selasa, 12 April 1952 AD atau 3:30:42 pm PST dalam bahasa Inggris)
Contoh
Jadi, misalnya, jika Anda ingin menampilkan tanggal dalam format yang setara dengan February 6, 2014 at 10:52 AM
, gunakan baris berikut di templat Twig Anda:
{{ game.gameDate|localizeddate('long', 'short') }}
Namun, jika Anda menggunakan lokal yang berbeda, hasilnya akan dilokalisasi untuk lokal itu:
6 februari 2014 10:52
untuk nl
lokal;
6 février 2014 10:52
untuk fr
lokal;
6. Februar 2014 10:52
untuk de
lokal; dll.
Seperti yang Anda lihat, localizeddate
tidak hanya menerjemahkan nama bulan tetapi juga menggunakan notasi lokal. Notasi bahasa Inggris menempatkan tanggal setelah bulan, di mana notasi Belanda, Perancis dan Jerman meletakkannya sebelum bulan. Nama bulan Inggris dan Jerman dimulai dengan huruf besar, sedangkan nama bulan Belanda dan Prancis adalah huruf kecil. Dan kurma Jerman memiliki titik ditambahkan.
Instalasi / pengaturan lokal
Petunjuk instalasi untuk ekstensi Intl dapat ditemukan di jawaban terpisah ini .
{{ game.gameDate|date('Y-m-d H:i:s') }}
untuk tanggal dan waktu. Saya kesulitan menemukan karakter selama beberapa menit.