odoo与康虎云报表集成时,odoo UTC时区日期时间如何转换成本地日期时间

admin 2020-9-17 13867


odoo与集虎云报表集成,在需要输出日期时,odoo默认是保存基于UTC时区的时间,如何转换成本地时区时间?
答案是使用 context_timestamp 函数转换即可,例如下面是把 销售订单确认时间 转换成本地时间的代码

    {
        /*其他字段省略...*/
        "confirmation_date": "<t t-if="doc.confirmation_date"><t t-esc="context_timestamp(datetime.datetime.strptime(doc.confirmation_date, '%Y-%m-%d %H:%M:%S')).strftime('%Y-%m-%d %H:%M:%S')"/></t>",
    }

这里面<t t-if 标签用于判断 doc.confirmation_date 是否有值,若无值,后面的转换会出错;
datetime.datetime.strptime(doc.confirmation_date, '%Y-%m-%d %H:%M:%S') :把confirmation_date 转换成datetime格式
context_timestamp( ...) :把Datetime 从 UTC转成本地时区时间
XXX.strftime:把时间按格式转成字符串

最新回复 (0)
返回