`
radzhang
  • 浏览: 316410 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

odoo时区问题

    博客分类:
  • ODOO
 
阅读更多

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

 

 

2016-10-05追加:

Odoo9.0写法和8.0不太一样。找不到js的时间转换的地方了。没时间调试进去看了。暂时搁置。

感觉必须把服务器时区改成UTC。然后,ODOO里的用户首选项里选择哪个时区,就是对应哪个时区的时间。

但是如果和别的应用共用一台服务器的话,不太可能吧服务器时区改成UTC。

如果要把代码里所有astimezone的地方都改一遍的话,感觉有点坑爹。

 

 

分享到:
评论

相关推荐

    Odoo10.0 使用开发手册

    - **时区设置**:根据企业所在地区的实际时区进行设置。 - **管理员权限设置**:为管理员账号分配相应的权限,以便于管理和维护系统。 - **设置基本信息**:如公司名称、地址等基本信息的录入。 - **功能模块...

    OpenERP时区Bug解决注册表文件

    时区问题在分布式和全球化的企业环境中经常出现,因为不同的地理位置可能有不同的时间标准。在OpenERP中,时区bug可能导致日期和时间的显示、计算或同步出现问题,这可能对企业的数据准确性和运营效率产生负面影响。...

    odoo_dhtmlxgantt:将DHX的甘特图整合到Odoo中

    odoo_dhtmlxgantt 将DHX的甘特图集成到Odoo中该项目的目标是将甘特图与Odoo完全集成。 由于甘特图是项目管理的重要工具。 在Odoo中包含一个将使其与较早...有时更改datetime字段时不考虑时区:( 待办事项:计算周末。

    odoo-digitalocean-ubuntu-lamp-install:带有SSH和反向代理的Odoo自动化安装脚本

    安装和设置服务器先决条件(例如,时区,git等) 保护系统 HTTPS和反向代理(可选) 主域名和备份域名(可选) 通过带密码的SSH密钥访问服务器(可选) 已发送SSH密钥发送给用户(您可以删除/编辑此密钥) 在...

    图解虚拟机VMware Workstation的安装与使用.doc

    4. 配置系统设置,如时区、用户名、密码等。 **四、安装VMware Tools** 1. 在虚拟机运行操作系统后,VMware Workstation会提示安装VMware Tools。 2. 安装VMware Tools可以提高虚拟机性能,优化显示效果,实现与...

    python3 Babel==2.9.1

    4. **区域设置**:Babel提供了对世界不同地区和语言的区域设置支持,包括时区、度量单位、排序规则等。开发者可以通过区域代码获取相应的设置,如`babel.dates.get_timezone('Asia/Shanghai')`。 5. **拼写检查**:...

    dateutil模块包

    4. **tzinfo(时区信息)**:`dateutil.tz`模块提供了对时区处理的支持,包括解析和转换带有时区信息的日期和时间,这对于处理跨越不同时区的数据至关重要。 在OpenERP7中,`dateutil`可能被用于以下场景: 1. **...

    openerp源码编译缺少的模块包win64、python2.7

    OpenERP(现在称为Odoo)是一个开源的企业资源规划(ERP)软件,它使用Python编程语言,因此在编译源代码时,确保所有必要的Python库和工具已安装是至关重要的。 描述中提到的"OpenERP7.0在win64环境下源码编译所...

Global site tag (gtag.js) - Google Analytics