Wie man eine naive datetime in Django 1.4 speichert

Ich habe ein naives Datum und Zeit im Format '2012-05-19 19:13:00' und muss es mit Django 1.4 und seine Zeitzone-bewusste Fähigkeiten zu speichern.

Obwohl es keine Möglichkeit gibt zu wissen, welche Zeitzone das Datum ursprünglich ist, scheint es sinnvoll zu sein, es zu speichern, als ob es UTC wäre.

Allerdings, mit pytz etc, bin ich nicht sicher, wie man ein Datum, das keine Zeitzone in eine UTC datetime hat konvertieren.

One Solution collect form web for “Wie man eine naive datetime in Django 1.4 speichert”

Wenn es keine tzinfo dann natürlich gibt es keine Umwandlung in UTC. Stattdessen könntest du nur das datetime-Objekt in eine Zeitzone bewusst machen:

import datetime from pytz import UTC dt = datetime.datetime.now() # just some date tz_aware_dt = dt.replace(tzinfo=UTC) 

Bearbeiten:

Der Migrationsführer für django 1.4 nutzt dies, um das oben zu erreichen:

 >>> from django.utils.dateparse import parse_datetime >>> naive = parse_datetime("2012-02-21 10:28:45") >>> import pytz >>> pytz.timezone("Europe/Helsinki").localize(naive) datetime.datetime(2012, 2, 21, 10, 28, 45, tzinfo=<DstTzInfo 'Europe/Helsinki' EET+2:00:00 STD>) 

Sie sollten diese Version wahrscheinlich verwenden und "Europe / Helsinki" für "UTC" ersetzen.

  • Mit python, um festzustellen, ob ein Zeitstempel unter Sommerzeit ist
  • Django Tutorial - falsch konfigurierte Ausnahme (pytz ist nicht installiert)
  • Unerwartete Ergebnisse, die Zeitzonen in Python umwandeln
  • ImportError, mit pytz in google app-Engine
  • Zeitzone auf einem bestehenden Django-Projekt ändern
  • Pytz: Rückkehr Olson Timezone Name von nur einem GMT Offset
  • Verwenden Sie Python, um herauszufinden, ob eine Zeitzone derzeit in Sommerzeit
  • Python-datetime-Objekt zeigt falschen Zeitzonen-Offset
  • Pytz utc umwandlung
  • Weird .astimezone Verhalten
  • Bekomme die DST-Grenzen einer bestimmten Zeitzone in Python
  • Python ist die beste Programmiersprache der Welt.