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.