首页 > 解决方案 > 在 Python 中以毫秒频率生成时间戳

问题描述

你好我正在分析振动数据,我的传感器的输出只是给了我的数组值,不能导出时间戳。它是一个 10 Khz 数据,即 0.0001 ms。

有没有办法用这个间隔在 python 中生成时间戳值。

例如:2018-05-21 00:00:00:0001、2018-05-21 00:00:00:0002

标签: pythontimestamp

解决方案


您可以以上述格式生成时间戳:YYYY-MM-DD hh:mm:ss:uuuuuu其中u表示微秒。

作为dt日期时间时间戳,您可以使用isoformat()函数。在这里,dt.isoformat(timespec='microseconds')将返回您想要的结果(除了最后的冒号变成了小数点,并且日期和时间之间有一个“T”)。

如果您真的想要那个冒号,请使用该日期时间对象的格式化输出和字段:

"%4d-%02d-%02d %02d:%02d:%02d:%04d"
      %(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.microsecond // 100)

以下是一些带有输入和输出的示例代码:

dt = datetime(2018, 5, 21, 0, 0, 0, 100)
print(dt.isoformat(timespec='microseconds'))
print("%4d-%02d-%02d %02d:%02d:%02d:%04d"
      %(dt.year, dt.month, dt.day,
        dt.hour, dt.minute, dt.second, dt.microsecond // 100))

这输出

2018-05-21T00:00:00.000100
2018-05-21 00:00:00:0001

推荐阅读