datetime
rende facile tra fromtimestamp
, timedelta
e timestamp
:
>>> import datetime
>>> orig = datetime.datetime.fromtimestamp(1425917335)
>>> new = orig + datetime.timedelta(days=90)
>>> print(new.timestamp())
1433693335.0
su Python 3.2 e versioni precedenti, datetime
oggetti non hanno un metodo .timestamp()
, quindi è necessario modificare l'ultima riga al meno efficiente due conversione -Stage:
>>> import time
>>> print(time.mktime(new.timetuple()))
La conversione a due stadi richiede ~ 10 volte più lungo di .timestamp()
sulla mia macchina, prendendo ~ 2.5 ms, contro 270 ~ ns per .timestamp()
; certamente ancora banale se non lo fai molto, ma se hai bisogno di farlo molto, consideralo un altro argomento per usare Python moderno. :-)
my python 2.6 non ha la funzione '>>> print (new.timestamp())' ottenendo errore 'AttributeError: 'datetime.datetime' l'oggetto non ha attributo 'timestamp'' – Satish
@Satish: Pre-3.3, puoi mettere insieme '.timestamp()' usando 'time.mktime (x.timetuple())'. È più brutto (e devi "importare tempo"), ma è equivalente. Nota, potresti, a seconda dell'origine del timestamp e se sta usando UTC o ora locale, vuoi usare 'utcfromtimestamp' e' utctimetuple' invece delle funzioni non UTC fornite. – ShadowRanger
Side-note: 2.6? Veramente? 2.7 è uscito da oltre cinque anni! – ShadowRanger