Bagaimana saya dapat mengubah format templat tanggal Django default?


100

Saya memiliki tanggal dalam format ISO 8601 dalam database %Y-%m-%d,. Namun, ketika tanggal diteruskan ke templat, hasilnya seperti ini Oct. 16, 2011.

Adakah cara agar saya dapat memanipulasi format menjadi apa pun yang saya inginkan?

Jawaban:



276

Di dalam templat Anda, Anda dapat menggunakan datefilter Django . Misalnya:

<p>Birthday: {{ birthday|date:"M d, Y" }}</p>

Memberikan:

Tanggal Lahir: 29 Jan 1983

Lebih banyak contoh pemformatan di dokumen filter tanggal .


Saya pikir ini hanya berfungsi jika tanggal disediakan sebagai objek datetime. Bagaimana jika itu hanya string yang diteruskan dari tampilan?
— Mohammed Shareef C

2
Untuk string arbitrer yang berisi tanggal / waktu, saya mungkin akan menguraikannya menjadi datetime python dalam kode tampilan. (Atau bahkan lebih awal jika memungkinkan - di mana pun string tanggal itu pertama kali masuk dalam kode saya.) Tetapi jika Anda benar-benar ingin menggunakan string untuk melewatkan waktu ke templat Django Anda, jawaban ini tampak membantu.
— medmunds

Contoh di atas sempurna untuk digunakan dalam file template.
— Vinod Patidar


20

Gunakan saja ini:

{{you_date_field|date:'Y-m-d'}}

Ini akan menunjukkan sesuatu seperti 2016-10-16 . Anda dapat menggunakan format yang Anda inginkan.


8

Untuk mengubah format tanggal di views.py dan kemudian menetapkannya ke template.

# get the object details 
home = Home.objects.get(home_id=homeid)

# get the start date
_startDate = home.home_startdate.strftime('%m/%d/%Y')

# assign it to template 
return render_to_response('showme.html' 
                                        {'home_startdate':_startDate},   
                                         context_instance=RequestContext(request) )  


6

Jika Anda perlu menunjukkan tanggal dan waktu yang singkat (11/08/2018 03:23) Anda dapat melakukannya seperti ini:

{{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}

Detail untuk tag ini di sini dan lebih lanjut tentang tanggal sesuai dengan format yang diberikan di sini

Contoh:

<small class="text-muted">Last updated: {{your_date_field|date:"SHORT_DATE_FORMAT"}} {{your_date_field|time:"h:i a"}}</small>
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.