2014-09-11 3 views
0

Je suis en train d'utiliser des temps dans un système intranet, ce qui aura des serveurs indépendants/systèmes fonctionnent dans des fuseaux horaires différents. Parce que les fuseaux horaires sont pénibles et que mon utilisation des temps est assez simple (en montrant à l'utilisateur quand il a modifié un fichier, par exemple), j'ai pensé que j'utiliserais simplement des temps naïfs. Cependant, le fuseau horaire naïf de Django est incorrect.Django incorrect naïf fuseau horaire du système?

Settings.py:

# No TIME_ZONE specified because I want it to use whatever the system time is 
USE_L10N = False 
USE_TZ = False 

partir d'une console Django, je lance os.getenv('TZ') et il retourne 'America/Chicago', si l'ordinateur est réglé sur America/New_York. (Si je l'appelle date dans une ligne de commande, il montre que je suis en HAE). Par conséquent, quand je l'appelle timezone.now() ou datetime.datetime.now() le résultat est une heure plus tôt. (Quand j'appelle timezone.is_aware() sur l'un ou l'autre de ces derniers, il renvoie False.)

Ma question: pourquoi ce fuseau horaire est-il incorrect par rapport à l'heure du système, et est-ce que je peux le réparer?

Répondre

1

Voir si cela fonctionne:

from django.utils import timezone 
timezone.localtime(timezone.now()) 

Ceci est du Django docs.

+0

Détermine le fuseau horaire en fonction de la 'TIME_ZONE' dans les paramètres. Mon but est d'éviter d'avoir à changer cela manuellement pour chaque utilisation. Si j'essaie de l'utiliser sans l'ensemble 'TIME_ZONE', l'option par défaut est' America/Chicago' – Pterosaur

Questions connexes