2017-08-11 3 views
0

Wie kann ich die gleiche Zeit wie mein System haben?

create_date = fields.Datetime(default=fields.Datetime.now, string='Creation Date', readonly=True, index=True)

Wenn ich es auf einem Formular anzuzeigen es gibt mir das System genaue Stunde zum Beispiel, wenn es jetzt 2017.11.08 15.12.00 auf dem Formular ist, sah ich die gleiche, aber die Problem ist, wenn ich mit ihm etwas zu tun, es es wie 11/08/2017 14:12:00

zum Beispiel der Ansicht:

@api.onchange('name') 
 
    def onchange_name(self): 
 
     if self.name: 
 
      raise exceptions.except_orm(_('test'), _(self.create_date))

zeigt es 2017-08-11 14:12:00

NB: Auf dem Land sind wir UTC + 1

+0

die Zeit auf meiner Maschine ist UTC + 1 – Borealis

+0

odoo auf Formen zeigt UTC + 1, aber wenn ich mit ihm eine Behandlung tun wollen, sie betrachtet es als nur UTC – Borealis

Antwort

0

Odoo speichert immer für Datum und Uhrzeit in UTC und wandeln es in der Zeitzone des Benutzers auf der Ansicht (um mehrere Zeitzonen zu unterstützen). Sie müssen die Datetime in Ihre Zeitzone konvertieren. Sie können es auch sein mag versuchen: (nicht getestet :))

from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT 
import pytz 

@api.onchange('name') 
def onchange_name(self): 
    if self.name: 
     if self.env.user.tz: 
      user_tz = pytz.timezone(self.env.user.tz) 
      utc_create_date = datetime.strptime(self.create_date, DEFAULT_SERVER_DATETIME_FORMAT) 
      create_date = pytz.utc.localize(utc_create_date, is_dst=None).astimezone(user_tz) 
      raise exceptions.except_orm(_('test'), create_date.strftime(DEFAULT_SERVER_DATETIME_FORMAT)) 
     raise exceptions.except_orm(_('test'), self.create_date) 
+0

danke für die Antwort. Ich habe es getestet, es funktioniert nicht. – Borealis

+0

Auch wenn ich versuche, Ausnahmen auszulösen.except_orm (_ ('test'), 'second if') nach if self.env.user.tz:. es zeigt nichts an, es ist so, als würde es nicht in diesen Zustand eintreten – Borealis

+0

Hast du die Zeitzone in Odoo eingestellt? – qvpham

Verwandte Themen