【问题标题】:Operations on timestamp with nanoseconds in PythonPython中以纳秒为单位的时间戳操作
【发布时间】:2019-09-16 15:32:06
【问题描述】:

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

2019-08-05T00:01:23.486000061Z

我需要在这个时间戳中减去这样的数量(以秒为单位):

1.069422832374933

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

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

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

【问题讨论】:

    标签: python timestamp


    【解决方案1】:

    我不确定你想要什么。如果要以 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})'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 2015-06-17
      • 2011-01-24
      • 2015-10-09
      • 2020-08-03
      相关资源
      最近更新 更多