如何在Python中处理time.time()?

时间:2018-03-16 21:37:04

标签: python datetime timestamp

我尝试使用hdf5收集实时数据,但目前它不支持datetime,所以我认为np.float64(timestamp)会更好从存储效率的角度来看,选项比简单的字符串(8位对8位以上)。我想用微秒精度记录事件时间。

从这些网页(https://docs.python.org/3/library/time.htmlhttps://pymotw.com/2/time/index.html)中,我读到time.time()所获得的时间戳以UTC计算,但现在我觉得有些不同于我读了什么。

from datetime import datetime
import time

print( datetime.utcnow() )

print( datetime.fromtimestamp( time.time() ) )

>>> (executing file "<tmp 2>")
2018-03-16 21:28:34.716853
2018-03-17 06:28:34.716854

我不明白他们与众不同的原因。如果以UTC计算时间戳,我认为它们应该是相同的。

我有另一个问题。我想知道如何为时间戳添加一些时间。例如,我想知道如何使用时间戳来执行此操作。

datetime.utcnow() + timedelta(hours=3)

1 个答案:

答案 0 :(得分:2)

datetime.utcnow()是时间,datetime.fromtimestamp()是当地时间,具体取决于您所在的时区。

要添加到时间戳,您只需将timedelta转换为秒:

time.time() + timedelta(hours=3).total_seconds()