解决odoo 时间差问题

解决odoo 时间差问题

2017-03-10 01:09:00 阅读数 109   原文链接:http://www.cnblogs.com/Michaelwolf/p/6528701.html

odoo 在时间处理时,存到数据库是以格林威治时间,在显示时再加上时区的差值,特别server 布署在Windows 上,如时间或日期取值不正确,就会相差8小时左右,如何准确调整时间,这里给出我自已的解决方案:

1.我们发现 odoo 的create_date 和write_date 取值永远是正确的,那我们先看一下它的取值方式:

解决odoo 时间差问题

现用几种取值方式作比较:

 解决odoo 时间差问题

 

 可见只有 Date11 的取值无论server 是在linux 下面还是在 windows 下,均是正确的

 这是如何做到的呢?

如下图在fields 下面增加一个方法:

解决odoo 时间差问题

 

不同平台进行时间处理 ,由于本人没有MAC 环境所以 以默认datetime.now()值返回,

此方案 可以根据在服务器上的测试 ,调整timedelta 中的 hours 和seconds 的值,作到分秒不差。

 

2.日期也做同样的解决方案:

 

解决odoo 时间差问题

 

应用与结果比对:

 

解决odoo 时间差问题

 

 Date16 /date17/date18 的取值方式均是可以滴。

用这个两个方法其它取值示例:

解决odoo 时间差问题

上一篇:在Python中执行以下代码有什么问题?


下一篇:Javascript-ListView,FormView和PageView之间有什么区别? (ODOO | OpenERP)在JScript中