我需要將微秒分辨率的日期時間對象轉換爲時間戳,問題是我沒有得到相同的時間戳秒的分辨率。從日期時間到時間戳python
例如,我作爲參數傳遞的時間戳是1424440192,而我得到的返回值爲1424429392.011750,爲什麼這樣呢?I只更改了datetime對象的微秒值,所以我希望只更改點後面的值。 PD:在這個例子中,我只模擬一個時間戳。
from datetime import datetime, timedelta
def totimestamp(dt, epoch=datetime(1970,1,1)):
td = dt - epoch
return td.total_seconds()
#return (td.microseconds + (td.seconds + td.days * 24 * 3600) *
#10**6)/1e6
timestamp_pc = 1424440192
tm = datetime.fromtimestamp(timestamp_pc)
new_tm = tm.replace(microsecond = 11750)
print tm
print new_tm
print timestamp_pc
print "%f " %(totimestamp(new_tm))
如果您將'tm = datetime.fromtimestamp ...'和'new_tm = tm.replace ...'放在行之間,那麼'print totimestamp(tm)'會顯示什麼? – BorrajaX 2015-02-23 19:32:05
相關:[在Python中將datetime.date轉換爲UTC時間戳](http://stackoverflow.com/q/8777753/4279) – jfs 2015-02-24 04:58:34