python - example - Inicializa un objeto datetime con segundos desde época
python datetime to string (4)
De los documentos, la forma recomendada de obtener un objeto datetime con zona horaria desde segundos, ya que epoch es:
Python 3 :
from datetime import datetime, timezone
datetime.fromtimestamp(timestamp, timezone.utc)
from datetime import datetime
import pytz
datetime.fromtimestamp(timestamp, pytz.utc)
El módulo de time
se puede inicializar usando segundos desde época:
>>> import time
>>> t1=time.gmtime(1284286794)
>>> t1
time.struct_time(tm_year=2010, tm_mon=9, tm_mday=12, tm_hour=10, tm_min=19,
tm_sec=54, tm_wday=6, tm_yday=255, tm_isdst=0)
¿Existe una forma elegante de inicializar un objeto datetime.datetime
de la misma manera?
Tenga en cuenta que datetime.datetime. fromtimestamp (timestamp) y. utcfromtimestamp (timestamp) falla en Windows para fechas anteriores al 1 de enero de 1970, mientras que las marcas de tiempo negativas de unix parecen funcionar en plataformas basadas en Unix. Los documentos dicen esto:
" fromtimestamp ".
Véase también el Issue1646728
datetime.datetime.fromtimestamp
, si conoce la zona horaria, podría producir el mismo resultado que con time.gmtime
>>> datetime.datetime.fromtimestamp(1284286794)
datetime.datetime(2010, 9, 12, 11, 19, 54)
o
>>> datetime.datetime.utcfromtimestamp(1284286794)
datetime.datetime(2010, 9, 12, 10, 19, 54)