Python中的纳秒时间戳操作

Python中的纳秒时间戳操作,python,timestamp,Python,Timestamp,我有9位十进制数字的时间戳: 2019-08-05T00:01:23.486000061Z 我需要在这个时间戳中减去这样的量(以秒为单位): 我可以用datetime的“普通”时间戳(6位十进制数字)来实现这一点,但在这种特殊情况下,我该如何实现呢?正如你所看到的,我还需要截断数量,因为它有额外的数字,我不需要 编辑:我意识到我可以使用round(float\u number,9) 编辑:我需要获得一个形状相同的时间戳(9位数代表秒)我不确定您想要什么。如果要以6位数的时间戳表示秒,而无需进一

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

2019-08-05T00:01:23.486000061Z
我需要在这个时间戳中减去这样的量(以秒为单位):

我可以用datetime的“普通”时间戳(6位十进制数字)来实现这一点,但在这种特殊情况下,我该如何实现呢?正如你所看到的,我还需要截断数量,因为它有额外的数字,我不需要

编辑:我意识到我可以使用
round(float\u number,9)


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

我不确定您想要什么。如果要以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})'
exp       = '(\d{4})-(\d{2})-(\d{2})?T(\d{2}):(\d{2}):(\d{2}).(\d{9})'