跳至內容
選單
此問題已被標幟
3 回覆
11747 瀏覽次數

I am developing odoo8 in a windows pc with eclipse and pydev.

My problem is datetime generated with fileds.Datetime.now() is local time (not UTC time).

Also, relevant field data in PostgreSQL database is local format (but reserved fields in database like create_date and write_date are in UTC format)

This makes datetime fields showing in UI wrong.

What is the root cause?

頭像
捨棄
最佳答案

Hello,

The idea is to always stock date in utc in database.

And display it in the timezone of the current user...

So in the ui, you will see the date from db + the lambda of your timezone.

頭像
捨棄
作者

You are right, and i am aware of that. My problem is that I get date in database in local time format, NOT a naive UTC time. For example, i have a Datetime field, and the local time in China now is 22:00. After i write this field to fields.Datetime.now() programmatically, I get 22:00 in the database, NOT 14:00 . Another weird thing is, write_date field of this record is 14:00 (RIGHT UTC time, and create_date field will always be correct).

最佳答案

Check if the user's timezone is set to UTC? settings -> users -> [user] -> preferences (tab)

Check if the postgres database timezone is correct:

SELECT current_setting('TIMEZONE') TZ;

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
3
6月 25
1011
1
7月 23
3705
4
12月 22
9653
2
4月 21
3710
1
10月 18
5071