odoo 在时间处理时,存到数据库是以格林威治时间,在显示时再加上时区的差值,特别server 布署在Windows 上,如时间或日期取值不正确,就会相差8小时左右,如何准确调整时间,这里给出我自已的解决方案:
1.我们发现 odoo 的create_date 和write_date 取值永远是正确的,那我们先看一下它的取值方式:
现用几种取值方式作比较:
可见只有 Date11 的取值无论server 是在linux 下面还是在 windows 下,均是正确的
这是如何做到的呢?
如下图在fields 下面增加一个方法:
不同平台进行时间处理 ,由于本人没有MAC 环境所以 以默认datetime.now()值返回,
此方案 可以根据在服务器上的测试 ,调整timedelta 中的 hours 和seconds 的值,作到分秒不差。
2.日期也做同样的解决方案:
应用与结果比对:
Date16 /date17/date18 的取值方式均是可以滴。
用这个两个方法其它取值示例: