惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
B
Blog
aimingoo的专栏
aimingoo的专栏
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
月光博客
月光博客
H
Help Net Security
V
Visual Studio Blog
量子位
A
About on SuperTechFans
博客园 - Franky
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog

博客园 - 马建康

liunx修改字体为宋体 OpenERP|odoo Web开发 PostgreSQL源码分析之shared buffer与磁盘文件 如何更改postgresql的最大连接数 [Ubuntu]明明白白安装中文字体 Ubuntu 所需要的中文字体美化操作步骤 Ubuntu 字体设置:使用Windows 字体 Ubuntu下中文完美解决方案 fonts.conf 中文手册 PostgreSql 合并多行记录 Ubuntu 字体设置:使用Windows 字体 Ubuntu 12.04 LTS安装Windows字体 Postgresql死锁的处理 PostgreSQL中COUNT的各条件下(1亿条数据)例子 Git详解之三 Git分支 ubuntu下修改文件夹权限 Ubuntu中Nginx的安装与配置 Linux下解决 id_rsa 权限不够 Ubuntu Server 13.10 安装配置图解教程
彻底解决Odoo8.0单时区应用中的时区问题
马建康 · 2015-07-23 · via 博客园 - 马建康

由于数据库中存储的是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模块

posted @ 2015-07-23 15:41  马建康  阅读(1627)  评论()    收藏  举报