完全解決Odoo8.0單時區應用中的時區問題

因爲數據庫中存儲的是UTC時區,默認狀況下數據導出和group by都存在時區問題。
完全解決辦法: 將以UTC時區存儲的數據改成按目標時區存儲,並去掉JS中的時區轉換。 一、修改Odoo系統環境時區: odoo/openerp/__init__.py 文件 import os os.environ['TZ'] = 'UTC' # 將這裏的UTC 改成Asia/Shanghai 或其它目標時區 二、修改 web頁面時區轉換的JS文件: odoo/addons/web/static/src/js/openerpframework.js 中的兩個方法 openerp.str_to_datetime  字符串轉時間 openerp.datetime_to_str  時間轉字符串 去掉這兩個方法中的UTC字符。 三、修改以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  備份下來的數據庫名稱時間標誌 四、修改其餘功能性模塊中帶 "at time zone" 字符串來取UTC時間的語句。  如 calendar 模塊和 hr_timesheet_sheet模塊
相關文章
相關標籤/搜索