Odoo Help


[odoo 9.0] fields.Datetime is read with server TZ? Feature or bug?

on 10/11/16, 1:25 PM 631 views

If  01.01.2016 23:59 is stored in the fields.Datetime() while a record is created (do not check 'write' method) the result in the DB is '01.01.2016 23:59'. But in the view I see '02.02.2016 01:59'. Two hours is added because of TZ as I think.

Does Odoo or Postgres modify the date? And how to get exactly the value I have sored?



| 8 8 8

My Odoo blog: http://www.odoo.yenthevg.com/

My Twitter: https://twitter.com/Yenthe666

On 10/12/16, 1:53 AM

Hi Artem,

Every date that you store in Odoo is shown to the user in his timezone (as set under the user his preferences).
In the back-end however all dates are converted to UTC and will be stored in the database in UTC. This means that every time that you see in the front-end is adjusted to the logged in his timezone while it is written away in UTC.
The reason this is done is to be consistent through-out Odoo and to have a rule that you can always fall back on to calculate dates and timezones.
You can simply get the stored value by printing it out for example:

my_date = self.your_date_field


I think it is useful to add an attribute like 'notzconversion'

on 10/12/16, 7:07 AM

You could get the current user his timezone and compensate it to write it away, I guess. I don't see a reason in doing so but it can be done.

on 10/12/16, 7:17 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 10/11/16, 1:25 PM
Seen: 631 times
Last updated: 10/12/16, 7:07 AM