2012-03-29 4 views
5

Tôi đang sử dụng OpenERP version 6.1OpenERP web client. Máy chủ OpenERP được cài đặt trong máy tính xách tay của tôi do đó cả máy chủ và máy khách trên cùng một máy.OpenERP vấn đề thời gian ngày lạ

Vấn đề tôi đang gặp phải là có vẻ như OpenERP xử lý thời gian địa phương của tôi là UTC thời gian hiện tại. Múi giờ của tôi trong Windows được đặt thành UTC+5:30 hours (Asia/Colombo) và thời gian hiện tại là 11:00 AM. Khi tôi thấy thời gian hiện tại từ OpenERP sử dụng,

'date_created': lambda *a: datetime.now().strftime('%Y-%m-%d %H:%M:%S'), 

Nó hiển thị cho tôi 03/29/2012 16:30:24 thay vì đúng giờ 11:00 AM. Quan sát của tôi là OpenERP nhận được thời gian hiện tại và thêm 5 giờ 30 phút vào thời điểm hiện tại và cho tôi thấy. Vì vậy, OpenERP giả định thời gian địa phương hiện tại của tôi là thời gian UTC hiện tại.

Tôi phải cài đặt phần mềm tại trang web của khách hàng nhưng không sửa lỗi này, tôi không thể cài đặt.

Trả lời

5

Trạng thái OpenERP v6.1 Release Notes hiện tại máy chủ và cơ sở dữ liệu hoạt động độc quyền với ngày UTC, bỏ qua cài đặt múi giờ OS.

Việc quy đổi múi giờ được thực hiện tự động bởi khách hàng:

  • client Web sử dụng các thiết lập trình duyệt (mà thường phù hợp với các thiết lập máy khách)
  • client GTK sử dụng các thiết lập trong tùy chọn cá nhân.
3

Có một quy tắc vàng cho các lĩnh vực datetime trong 6.1 addons mã: "ALWAYS work in UTC - compute in UTC - save in UTC" Các giá trị tính theo giờ UTC sẽ được chuyển đổi đúng cách để giờ địa phương khi kết quả là diplayed trong một hình thức client-side.