由于数据库中存储的是UTC时区,默认情况下数据导出和group by都存在时区问题。
彻底解决办法:将以UTC时区存储的数据改为按目标时区存储,并去掉JS中的时区转换

1、修改Odoo系统环境时区:
odoo/openerp/__init__.py 文件
import os
os.environ['TZ'] = 'UTC' # 将这里的UTC 改为Asia/Shanghai 或其它目标时区

2、修改 web页面时区转换的JS文件:
odoo/addons/web/static/src/js/openerpframework.js 中的两个方法
openerp.str_to_datetime  字符串转时间
openerp.datetime_to_str  时间转字符串
去掉这两个方法中的UTC字符。

3、修改以UTC时间执行的SQL 查询或插入语句:
去掉所有带 "at time zone 'UTC'" 或 "at time zone 'utc'"字符串的语句。
 odoo/openerp/models.py 特别是create_date、write_date字段值;
 odoo/openerp/addons/base/ir/ir_cron.py  定时任务中UTC时区改为当前时区;
 odoo/openerp/netsvc.py  备份下来的数据库名称时间标志

4、修改其他功能性模块中带 "at time zone" 字符串来取UTC时间的语句。
 如 calendar 模块和 hr_timesheet_sheet模块

彻底解决Odoo8.0单时区应用中的时区问题的更多相关文章

  1. CS5265完美替代CH7211|Type-C转HDMI2.0单转方案|CH7211替代方案

    龙迅Chrontel的CH7211是一款Type-C转HDMI2.0半导体设备,可通过USB Type-C连接器将DisplayPort信号转换为HDMI/DVI.这款创新的基于USB Type-C的 ...

  2. 解决VB6.0中不能加载MSCOMCTL.OCX的错误提示

    VB6.0毕竟是很古老的开发工具了,其对所使用的第三方组件依赖性比较强,例如在打开从其它电脑上拿来的VB6.0的软件(系统)的工程文件(源代码)时,经常会遇到"不能加载MSCOMCTL.OC ...

  3. Odoo8.0中允许用户动态调整TreeView栏位宽度

    现有的Odoo8.0中TreeView的栏位宽度是固定的,不可以手动调整,通过安装第三方插件后,可以实现手工动态调整. 下载模块安装即可.http://download.csdn.net/detail ...

  4. [.NET Core]ASP.NET Core中如何解决接收表单时的不支持的媒体类型(HTTP 415 Unsupported Media Type)错误呢?

    [.NET Core]ASP.NET Core中如何解决接收表单时的不支持的媒体类型(HTTP 415 Unsupported Media Type)错误呢? 在ASP.NET Core应用程序中,接 ...

  5. Java 实现C#中的String.format效果 解决("我是{0},今年了","whaozl") bug

        /**      * 需要引入com.alibaba.fastjson.1.2.8      * 两种调用方式      * String template1="我是{0},今年{1 ...

  6. ISO日期格式标准,浏览器到服务器到mysql中的时区

    时区简单理解 https://zh.wikipedia.org/wiki/%E6%97%B6%E5%8C%BA 上面的链接是时区的wiki说明,下面说说我记住的部分: GMT时区是格林威治标准时间,我 ...

  7. ionic单页面应用中微信分享的问题总结

    首先说一下 ionic 是单页面应用,也就是说整个项目就有一个index.html, 那么问题就就来了, 如果我们不同的页面要分享给大家的是不同的链接和图片,应该怎么去做呢? 这就是我们今天要总结的东 ...

  8. PHP中设置时区方法小结

    找到原因后,在网上搜索到了一些关于PHP的时区设置方法: 1.修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asi ...

  9. margin:0 auto在IE中失效的解决方案

    转自:http://www.cnblogs.com/hongchenok/archive/2012/11/29/2795041.html 最近在开发项目的时候,发现在火狐浏览器中设置外容器margin ...

随机推荐

  1. Eclipse中用两个控制台测试网络通信程序

    1.启动发送端和接收端程序,这时在控制台可以看到两个程序在运行,如下图. 2.这种情况下只有一个控制台窗口,不便于测试程序,于是新建一个控制台窗口,如下图. 3.这时可以发现已经有了两个控制台窗口了, ...

  2. 为啥我喜欢在Windows 7环境下做Unity开发?

    先说明,以下情况只针对本人哦~ 前阵子我在OSX的最新版本Mavericks下做Unity开发,后来我把MacbookPro卖了,自己组装了个PC搞开发,为啥呢? 1:OSX下 MonoDevelop ...

  3. Codeforces Round #489 (Div. 2) E - Nastya and King-Shamans

    E - Nastya and King-Shamans 题目大意:有n个数,每一次操作更改一个数,每次操作之后问你是否有一个数等于其前面所有数的和. 思路:好题,想了很久没想出来,看了题解,主要思想就 ...

  4. NHibernate示例

    1. 下载相关资源: 下载NHibernate.下载地址: http://nhforge.org/Default.aspx 下载微软Northwind示例数据库,下载地址:http://www.mic ...

  5. BASH 的调试技巧

    平时在写 BASH 脚本时,总是会碰到让人抓狂的 BUG.和 C/C++ 这么丰富的调试工具相比,BASH 又有什么调试手段呢? 1 echo/print (普通技) 打印一些变量,或者提示信息.这应 ...

  6. java 可变参数讲解

    java5中新增了可变参数,这个可变参数和C语言中的用法是差不多,但实现起来却不一样. 下面我们一起来看看吧. 其实可变参数就是一个数组 class A{ public void func(int.. ...

  7. (14) go 结构体

    1. 声明一个结构体 2.属性 如果是 指针 切片 map 需要用make 3.赋值 (2) (3) (4) 4. 正确,字段相同,数据类型相同,名字相同 5.

  8. Python并发编程-事件,红绿灯控制

    事件用来控制多个进程同时执行或者阻塞 set和clear 分别用来修改一个事件的状态,True或者False is_set 用来查看一个事件的状态 wait 是依据事件的状态来决定自己是否在wait处 ...

  9. 理解裸机部署过程ironic

    部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样.虚拟机的底层驱动采用的libvir ...

  10. NOIP2017 D2T3列队

    这题我改了三天,考场上部分分暴力拿了50,考完试发现与正解很接近只是没写出来. 对于每一行和最后一列建n+1颗线段树,维护前缀和. 复杂度qlogn 假如你移动一个坐标为(x,y)的人,你要将第x行线 ...