create - timedelta python example
Marca de tiempo fuera del rango para la funciĆ³n localtime()/gmtime() de la plataforma (1)
Para muchos valores, como demasiado lejos en el pasado o en el futuro, simplemente al fromtimestamp()
la marca de tiempo en fromtimestamp()
se quejará con un error de fuera de rango. Sin embargo, puede calcular la fecha usando timedelta()
relativa a partir de la época.
>>> from datetime import datetime, timedelta
>>> date = datetime(1970, 1, 1) + timedelta(seconds=-216345600)
>>> date
datetime.datetime(1963, 2, 23, 0, 0)
>>> date.strftime(''%a, %d %b %Y %H:%M:%S GMT'')
''Sat, 23 Feb 1963 00:00:00 GMT''
Sin embargo, tenga en cuenta que no puede usar esto para volver a la era de los dinosaurios, ya que datetime()
todavía tiene un valor mínimo y máximo que puede admitir.
>>> datetime(1970, 1, 1) + timedelta(seconds=-62135596800)
datetime.datetime(1, 1, 1, 0, 0)
>>> datetime(1970, 1, 1) + timedelta(seconds=253402300799)
datetime.datetime(9999, 12, 31, 23, 59, 59)
>>> datetime(1970, 1, 1) + timedelta(seconds=253402300800)
Traceback (most recent call last):
File "<pyshell#157>", line 1, in <module>
datetime(1970, 1, 1) + timedelta(seconds=253402300800)
OverflowError: date value out of range
timedelta()
tiene sus límites, pero con la época como punto de referencia, no hemos llegado ni siquiera a alcanzarlos.
>>> timedelta(microseconds=1000000000*86400*10000-1)
datetime.timedelta(9999999, 86399, 999999)
Lo intento:
ts = -216345600000
datetime.datetime.fromtimestamp(ts/1000)
ValueError: timestamp fuera de rango para la función localtime () / gmtime () de la plataforma
Compruebo el valor de epochconverter : -216345600 su regreso GMT: sáb, 23 de febrero de 1963 00:00:00 GMT
¿Cómo obtener el resultado correcto?