我正在读取一个设备的时间戳,该设备以整数格式表示,表示自2000年1月1日以来的秒数。使用Python,我如何使用2000年1月1日将其转换为可读日期/时间作为我的纪元?
我尝试了多个datetime
函数,但总是以不正确的日期结束。我假设Python自动假设一个不同于我需要的纪元时间(1970年?它已经30年了)。
以下是我目前使用的代码行:
datetime.datetime.fromtimestamp(int(z[i][2])).strftime('%Y-%m-%d %H:%M:%S')
答案 0 :(得分:1)
您可以使用timedelta
来帮助您,例如:
>>> from datetime import datetime, timedelta
>>> base = datetime(2000, 1, 1) # start of your epoch
>>> base + timedelta(seconds=123456789) # add on a number of seconds
datetime.datetime(2003, 11, 29, 21, 33, 9)
您还可以使用timedelta.total_seconds
>>> (datetime.now() - base).total_seconds()
468696508.531
你是对的,fromtimestamp
需要自1970/1/1以来的秒数。