在我的銷售訂單日期當前顯示爲:如何在Odoo 8 QWeb報告中格式化日期?
Fecha: 21/11/2014 16:59:15
我想說明是這樣的:
Fecha: Surco, 21 de Noviembre del 2014
我嘗試使用t-esc
與strftime
但是,這並不工作:
<span t-esc="o.date_order.strftime('%Y')" />
在我的銷售訂單日期當前顯示爲:如何在Odoo 8 QWeb報告中格式化日期?
Fecha: 21/11/2014 16:59:15
我想說明是這樣的:
Fecha: Surco, 21 de Noviembre del 2014
我嘗試使用t-esc
與strftime
但是,這並不工作:
<span t-esc="o.date_order.strftime('%Y')" />
看起來好像o.date_order
它不是datetime
對象,而是一個字符串。使用time
模塊的路要走:
<span t-esc="time.strftime('%A, %d %B %Y',time.strptime(o.date_order,'%Y-%m-%d %H:%M:%S'))"/>
嘗試使用:
<span t-field="o.date_order" t-field-options='{"format": "d MMMM y"}'/>
結果:21 Noviembre 2014
聽到您還可以使用功能
設置自定義日期甲酸將函數添加到your_report.py文件中
class member_branch_mov(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(member_branch_mov, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
'get_formate_header_date':self._get_formate_header_date
})
def _get_formate_header_date(self, objects):
header_date=''
if self.end_date:
date = datetime.strptime(self.end_date,'%Y-%m-%d')
header_date=date.strftime('%d %B %Y')
return header_date.upper()
聽到self.end_date來自嚮導場
添加在您的報告your_report_view.xml文件
<t t-if="get_formate_header_date(docs)"><span t-esc="get_formate_header_date(docs)" /></t>
我認爲塞巴斯蒂安的回答是更清潔,更清晰。 – 2015-05-28 23:37:19
但是他的解決方案沒有解決問題 – 2015-05-29 00:19:03
t-field-options屬性中的日期格式使用LDML模式,所以{「format」:「EEEE d MMMM y」}將得到所需的結果。 http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns – 2015-05-29 01:54:25