zoukankan      html  css  js  c++  java
  • openerp7 时区问题

    由于目前openerp 的时区,读取的是UTC 时间,而我国本地时间比UTC 快8小时,这个问题就导致:写入数据库的时候时间相差8小时,以及Openerp日志输出时间格式也相差8小时和 前端显示时间的问题

    1、更改openerp日志输出时间,如:
        修改文件:oe_dev/openerp/__init__.py
    os.environ['TZ'] = 'UTC'
        修改成:
    os.environ['TZ'] = 'Asia/Shanghai'

    2、修改数据写入时间差问题
        修改文件:oe_dev/openerp/osv/orm.py
    由于OE的数据库model会默认创建create_date,wirte_date,而更改这两处的只有create和write方法,我们只需要对这两处的方法做下处理,(他们默认取的都是utc时间)
        修改文件行:4219
        修改:
    upd0.append("write_date=(now() at time zone 'Asia/Shanghai')")

    修改文件行:4510
    修改:
    upd1 += ",%s,(now() at time zone 'Asia/Shanghai'),%s,(now() at time zone 'Asia/Shanghai')"

    3、针对时间字段类型(date,datetime...)类型写入数据库时间差问题
        修改文件:oe_dev/openerp/osv/fields.py
    在文件头增加:from datetime import datetime,timedelta
    在4483文件后增加
        if self._columns[field]._type == 'datetime':
        datetime_type = datetime.strptime(vals[field],'%Y-%m-%d %H:%M:%S') + timedelta(hours=8)
        vals[field] = datetime_type.strftime('%Y-%m-%d %H:%M:%S')
    如:
        只是针对datetime,date类型没写(懒得写,反正现在也不用~~~Orz....)
        由于加载datetime和OE的源码加载方式不一样
        OE: import datetime
        修改:from datetime import datetime,timedelta
        需要修改datetime的调用方式,不然会出错,具体错误原因,请猛戳:http://stackoverflow.com/questions/12906402/type-object-datetime-datetime-has-no-attribute-datetime
        修改函数:_store_set_values (大概在4657行)
        修改成:write_date = datetime.fromtimestamp(time.mktime(res_date))  ,少一层调用

    4、前端显示问题,虽然数据库里面存的时间是对的,但是前端显示时也会有时间差问题
        修改文件: oe_dev/openerp/addons/web/static/src/js/dates.js
    修改第24行:
        var obj = Date.parseExact(res[1] + " UTC", 'yyyy-MM-dd HH:mm:ss zzz');
    修改成:
        var obj = Date.parseExact(res[1], 'yyyy-MM-dd HH:mm:ss');

  • 相关阅读:
    Crazypony四轴飞行器代码框架
    Python中 sys.argv[]的用法简明解释
    详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!(转)
    jquery——所有版本下载
    jsop跨域请求方式--及中文乱码解决方案
    js ---任何浏览器关闭当前网页的代码
    jquery ajax跨域请求 IE9及以下不支持---调试
    poi---Excel导入数据-ClassNotFoundException
    ajax获取json数据为undefined--原因解析
    可变参数 / 枚举--详解
  • 原文地址:https://www.cnblogs.com/chjw8016/p/3966766.html
Copyright © 2011-2022 走看看