27
Sono un po 'confuso dal risparmio di luce del giorno la gestionedjango 1.4 timezone.now (vs) datetime.datetime.now()
settings.py:
TIME_ZONE = 'Europe/London'
USE_TZ = True
nella shell django:
>>> from django.utils import timezone
>>> import datetime
>>> print timezone.now()
2012-05-28 11:19:42.897000+00:00
>>> print timezone.make_aware(datetime.datetime.now(),timezone.get_default_timez
one())
2012-05-28 12:20:03.224000+01:00
perché non sono gli stessi rispetto all'ora legale? Entrambi dovrebbero essere localizzati, no?
Ho letto i documenti ma non ne sono il più saggio.
che è alquanto controintuitivo. Avevo pensato che timezone.now() mi avrebbe dato ora nel fuso orario predefinito! Non molto pitone secondo me. L'uso di .astimezone() ha risolto il problema, grazie. – meepmeep
Perché continuo a ricevere un errore quando faccio quanto segue: >>> importa datetime >>> dal fuso orario di importazione di django.utils >>> da polls.models import Domanda >>> # crea un'istanza di domanda con pub_date 30 giorni in futuro >>> future_question = Domanda (pub_date = timezone.now() + datetime.timedelta (giorni = 30)) >>> # è stato pubblicato di recente? >>> future_question.was_published_recently() vero – pitchblack408
>>> future_question.was_published_recently() Traceback (chiamata più recente scorso): file "", linea 1, in file "C: \ Users \ michmar3 \ workspace \ pollsite \ polls \ models.py ", riga 17, in was_p ublished_recently return self.pub_date> = datetime.datetime.now() - datetime.timedelta (days = 1) File" C: \ jython2. 7b2 \ Lib \ datetime.py ", riga 1727, in __ge__ return self .__ cmp (altro)> = 0 File" C: \ jython2.7b2 \ Lib \ datetime.py ", riga 1765, in _datetime__cmp raise TypeError ("non posso confrontare l'ingenuo e dati personali ") TipoErrore: impossibile confrontare tempi di trasmissione dati ingenui e consapevoli –
pitchblack408