Odoo - 在 qweb 报告中的日期时间添加 (AM/PM)

Odoo - Add (AM/PM) in datetime in qweb report

<span t-field="o.date_order"/>

输出为:

2017 年 4 月 11 日 09:48:35

但是我怎样才能得到这样的输出:

2017 年 4 月 11 日 09:48 上午

试试这个

<span t-field="o.date_order" t-field-options='{"format": "MM dd y h:mm a"}'/>

你好艾斯瓦娅,

试试下面的代码,

1.使用模板,

如果你的 o.date_order 字段 return 这种格式类型 10/10/2017 10:10 AM DateTime with AM/PM 所以使用下面的代码否则会给出错误。

<td>
    Order Date:
    <t t-esc="time.strftime('%d/%m/%Y %H:%M %a',time.strptime(o.date_order,'%d/%m/%Y %H:%M %a'))" />
</td>

2。您还可以在 python、

中使用创建函数

如果您有多个日期字段使用相同或不同的日期格式,那么 python 函数的使用会更好,因为它提高了代码的可重用性。

1.首先你的 report.py 文件里面写下代码,

def __init__(self, cr, uid, name, context=None):  
    super(class_name, self).__init__(cr, uid, name, context=context)  

    self.localcontext.update({  
        'format_date':self.format_date  
    }) 

def format_date(self,date):
        if date:
           return str(datetime.strptime(o.date_order, '%d/%m/%Y %H:%M %a').strftime('%d/%m/%Y %H:%M %a'))

2。其次你的 report_view_template.xml 文件里面写下面的代码,

<td>
    Order Date:
    <t t-esc="format_date(o.date_order)" />
</td>

希望我的回答对您有所帮助。如有任何疑问请留言。