【发布时间】:2020-06-03 23:34:24
【问题描述】:
我正在尝试将包含时间 ("%H:%M:%S.%f") 的字符串转换为等效毫秒的 int。复杂的是,时间是 FFmpeg 的输出,它是音频文件中的一个点。我需要获取字符串中时间所代表的毫秒数。 DateTime 中的时间戳方法是从纪元开始的毫秒数,从我开始时没有另一个时间戳,这不好。
例如: t = "00:05:52.654321" 应转换为: i = 352654321
最好的方法是什么?
这就是我想出的方法。
def _convert_string_to_int(self, s) -> int:
begin = datetime.datetime(1900,1,1)
end = datetime.datetime.strptime(s, self._ffmpeg_format_string)
return int((end - begin).total_seconds() * 1000000)
感觉真的没必要像那样使用 timedelta。
【问题讨论】:
标签: python-3.x datetime timedelta