Ich versuche Timezone bewusst datetime
Objekt zu UTC und dann zurück zu seiner ursprünglichen Zeitzone zu konvertieren. Ich habe einen folgenden AusschnittDatetime und Timezone Konvertierung mit Pytz - Geist weht Verhalten
t = datetime(
2013, 11, 22, hour=11, minute=0,
tzinfo=pytz.timezone('Europe/Warsaw')
)
jetzt in ipython:
In [18]: t
Out[18]: datetime.datetime(
2013, 11, 22, 11, 0, tzinfo=<DstTzInfo 'Europe/Warsaw' WMT+1:24:00 STD>
)
und nun wollen wir versuchen, Umstellung auf UTC zu tun und zurück. Ich würde erwarten, die gleiche Darstellung haben, wie:
In [19]: t.astimezone(pytz.utc).astimezone(pytz.timezone('Europe/Warsaw'))
Out[19]: datetime.datetime(
2013, 11, 22, 10, 36, tzinfo=<DstTzInfo 'Europe/Warsaw' CET+1:00:00 STD>
)
Aber wir sehen, dass Out[18]
und Out[19]
unterscheiden. Was ist los?
Django speichert Datetime naive Datenbank weise. Wenn Sie diesen Fall behandeln, sehen Sie hier, um Daten in die benötigte Zeitzone zu konvertieren: https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#usage – Jingo
ob Django naive Datumsangaben von nicht speichert gesteuert durch die Einstellung 'USE_TZ'. Wenn das "True" ist, behandelt Django Datumsangaben in Formularen usw. in der [aktuellen Zeitzone] (https://docs.djangoproject.com/en/dev/topics/i18n/timezones/#selecting-the-current-time -Zone) und speichert sie in der in UTC konvertierten Datenbank. – Anentropic