在Python中使用纳秒级的时间戳进行操作

时间:2019-09-16 15:32:06

标签: python timestamp

我有9个十进制数字的时间戳:

2019-08-05T00:01:23.486000061Z

我需要减去这个时间戳(以秒为单位):

1.069422832374933

我可以使用带有日期时间的“正常”时间戳(具有6个十进制数字)来执行此操作,但是在这种特殊情况下我该怎么做?如您所见,我还需要截断数量,因为它有多余的数字,我不需要。

编辑:我意识到我可以使用round(float_number, 9)

截断数量

编辑:我需要获得一个具有相同形状的时间戳(9位数字为秒)

1 个答案:

答案 0 :(得分:0)

我不确定您想要什么。如果要以6位数字显示该时间戳记秒,并且无需进一步计算,则可以将所有内容都视为正则表达式。

import re

givenDate = '2019-08-05T00:01:23.486000061Z'
exp       = '(\d{4})-(\d{2})-(\d{2})?T(\d{2}):(\d{2}):(\d{2}).(\d{6})'

newDate = re.search(exp, givenDate).groups()
print(newDate[0]+'-'+newDate[1]+'-'+newDate[2]+''+newDate[3]+':'+newDate[4]+':'+newDate[5]+'.'+newDate[6])

输出为:

2019-08-0500:01:23.486000

获取9位数字很容易:

exp       = '(\d{4})-(\d{2})-(\d{2})?T(\d{2}):(\d{2}):(\d{2}).(\d{9})'