如何将Postgres Datetime字段设置为Odoo Datetime字段

时间:2017-08-28 09:17:23

标签: python postgresql datetime odoo-10

我正在尝试将Postgres数据库时间到日期时间字段的设置时间显示为Odoo。

我创建的字段就是设置时间。

last_modify_article = fields.Datetime("Last Modify Date")

但是我的日期时间:~2017-08-28T08:43:56 + 0200完美存储在Postgres数据库中,但在Odoo中却看到了不同的数据。

所以,我的问题是如何在现场管理数据库的日期时间。

Here is the Postgres Time

并且

Here is Odoo field to set datetime in UTC

2 个答案:

答案 0 :(得分:4)

Odoo旨在将日期和时间存储为数据库中的UTC,并将其转换为前端用户的时区。

为您的用户设置了什么时区?您可以单击右上角的名称,然后单击“首选项”。时区应显示在弹出窗体上。

答案 1 :(得分:4)

实际上,数据库根据系统时区存储typedef struct Node { int item; struct Node *next; struct Node *prev; } Node; typedef struct List { Node *current_node; } List; int some_condition = 0; int some_function1(List L){ if (something){ //do stuff some_condition = 1; } else{ //do stuff some_condition = 0; } return *pointer to some node } int some_function2(List L){ if(something){ //do stuff some_condition = 1; } else{ //do stuff some_condition = 0; } return *pointer to some node } //returns 1 or 0 based on success int do_something(List L){ if(some_condition == 1){ //HERE, I WANT TO DO SOMETHING ON THE NODE THAT WAS LAST RETURNED BY EITHER some_function1 OR some_function2 return 1; } else{ return 0; } some_condition = 0; } 字段。在Odoo中,视图将根据用户的时区自动转换(如果已设置)。

在你的图像上,我可以看到时差为+5:30,即亚洲/科拉卡塔时区。因此,Datetime字段上的自定义操作需要根据用户正确转换时区。

Odoo视图和ORM方法通过Datetimetz次转化处理moment.js。这实际上是管理Odoo中不同时区的一个很好的功能。

您可以在pytz个对象上使用astimezone

Datetime

def astimezone(self, tz): # known case of datetime.datetime.astimezone
    """ tz -> convert to local time in new timezone tz """
    return datetime(1, 1, 1)