2012-03-29 10 views
5

Ich verwende OpenERP version 6.1 und OpenERP web client. Der Server OpenERP ist in meinem Laptop installiert, also sowohl der Server als auch der Client auf demselben Rechner.OpenERP seltsames Datum Zeit Ausgabe

Das Problem, das mir gegenübersteht, ist, dass es aussieht wie OpenERP behandelt meine lokale Zeit als aktuelle UTC Zeit. Meine Zeitzone in Windows ist auf UTC+5:30 hours (Asia/Colombo) eingestellt und die aktuelle Zeit ist 11:00 AM. Wenn ich die aktuelle Zeit von OpenERP mit sehen,

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

Es zeigt mir, 03/29/2012 16.30.24 statt korrekte Uhrzeit 11:00 Uhr. Meine Beobachtung ist, dass OpenERP die aktuelle Uhrzeit bekommt und 5 Stunden 30 Minuten zur aktuellen Uhrzeit addiert und mir zeigt. Also nimmt OpenERP meine aktuelle Ortszeit als aktuelle UTC-Zeit an.

Ich muss die Software auf der Client-Website installieren, aber ohne diese behoben, kann ich nicht installieren.

Antwort

5

Der OpenERP v6.1 Release Notes Zustand, dass jetzt der Server und die Datenbank ausschließlich mit UTC-Daten arbeiten und die OS-Zeitzoneneinstellungen ignorieren.

Die Zeitzone Konvertierung wird dynamisch durch die Kunden:

  • das Web-Client verwendet die Browser-Einstellung (die in der Regel der Einstellungen Client-Maschine übereinstimmt)
  • das GTK-Client verwendet die Einstellung in den Benutzereinstellungen.
3

Es gibt eine goldene Regel für Datetime-Felder in 6.1 Addons Code: „ALWAYS work in UTC - compute in UTC - save in UTC“ Die UTC-Werte richtig in der lokalen Zeit konvertiert werden, wenn das Ergebnis in einer clientseitigen Form diplayed ist.