9

我的销售订单中的日期当前显示为:

Fecha: 21/11/2014 16:59:15 

我想展示这样的东西:

Fecha: Surco, 21 de Noviembre del 2014

我尝试使用t-escwithstrftime但这不起作用:

<span t-esc="o.date_order.strftime('%Y')" />
4

3 回答 3

17

尝试使用:

<span t-field="o.date_order" t-field-options='{"format": "d MMMM y"}'/>

结果:2014 年 11 月 21 日

于 2014-11-24T16:52:43.953 回答
8

看起来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'))"/>
于 2014-11-24T15:30:28.193 回答
0

听到您还可以使用函数设置自定义日期格式

在 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-02-20T12:33:53.693 回答