Odoo时区问题

odoo框架默认使用的是UTC时间,所以导致使用datetime类型的字段时存入数据库的时间和实际的中国时间相差8小时(少了8小时),但在pc端展示的时候又时正常的东八区时间,这样就会导致在使用datetime类型时处理起来很麻烦,特别是提供接口给外部系统使用的时候,往往需要手动加8小时,假如我们在生成记录的时候都加8小时存库,就会导致odoo前台展示的时候多了8小时.

对于odoo的时差问题,读者可以参考我上面的方法,核心步骤3步:

1-更改seesion.js的getTZOffset(value)方法时差改为0,

2-将models.py里utc时间改为Asia/Shanghai,

3-在odoo-bin启动文件中使用os.environ['TZ']将时区改为Asia/Shanghai,

笔者在开发过程中发现如果不做任何设置odoo框架在导入datetime,time等时间处理模块时将使用操作系统时区。


参考: 

https://juejin.cn/post/6926791688497135630


技术
Odoo自启动
配置系统服务,开机自动启动Odoo