基本上,我有一个带有以下格式的时间戳的完整数据帧: 2018-01-17T05:00:00.000000Z
我希望在上面加上不同的秒数(有时增加1秒,有时增加1微秒,等等)。
答案 0 :(得分:0)
python datetime
允许您使用毫秒和微秒。
>>> from datetime import datetime,timedelta
>>> dt = datetime.now()
>>> print(dt)
2019-07-05 17:21:49.523664
>>> dt1 = dt + timedelta(microseconds = 1,milliseconds = 1)
>>> print(dt1)
2019-07-05 17:21:49.524665
关于纳秒级,您可以找到信息here。
如果您将其作为string
,则必须将其转换为datetime
:
>>> from datetime import datetime,timedelta
>>> import dateutil.parser
>>> date = dateutil.parser.parse("2018-01-17T05:00:00.000000Z")
>>> print(date)
2018-01-17 05:00:00+00:00
>>> dt1 = date + timedelta(microseconds = 1,milliseconds = 1)
>>> print(dt1)
2018-01-17 05:00:00.001001+00:00
如果您要求输入日期+00:00
的最后部分,则可以在该时区中将其删除,如下所示:
>>> dt1 = dt1.replace(tzinfo=None)
>>> print(dt1)
2018-01-17 05:00:00.001001
答案 1 :(得分:0)
使用Python 3.7,您可以使用datetime.fromisoformat
:
import datetime
value = datetime.datetime.fromisoformat(str)
value += datetime.timedelta(seconds=1)
对于较旧的Python版本,您可以使用:
import datetime
value = datetime.datetime.strptime(str, "%Y-%m-%dT%H:%M:%S.%fZ")
value += datetime.timedelta(seconds=1)