在我的销售订单日期当前显示为:如何在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