Solución:
De acuerdo a timezone.now()
fuente:
def now():
"""
Returns an aware or naive datetime.datetime, depending on settings.USE_TZ.
"""
if settings.USE_TZ:
# timeit shows that datetime.now(tz=utc) is 24% slower
return datetime.utcnow().replace(tzinfo=utc)
else:
return datetime.now()
Se basa en utc
en lugar de tu zona horaria predeterminada. Podrías lograr el mismo valor usando
now = timezone.make_aware(datetime.datetime.now(),timezone.get_default_timezone())
print now.astimezone(timezone.utc)
Desde Django 1.11, simplemente puede llamar django.utils.timezone.localtime
ir a buscar datetime
para su zona horaria predeterminada.
>>> from django.utils import timezone
>>> timezone.localtime()
De los documentos:
Convierte una fecha y hora consciente en una zona horaria diferente, de forma predeterminada, la zona horaria actual.
Cuando se omite el valor, el valor predeterminado es
now()
.Esta función no funciona con fechas ingenuas; usar
make_aware()
en lugar de.
Puedes pasar un parámetro a datetime.datetime.now()
:
import pytz, datetime
utc = pytz.utc
utc_now = datetime.datetime.now(tz=utc)
O usar timezone
, a la:
from django.utils import timezone
now = timezone.now()
https://docs.djangoproject.com/en/2.1/topics/i18n/timezones/
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)