我有一个时间步(例如2717715
microseconds
),我想将其转换为hh:mm:ss格式以从youtube视频中提取帧。我使用以下代码来做到这一点:
def convert(timestamp):
# pdb.set_trace()
timestamp = float(timestamp)
# seconds = (micros/1000)%60
# minutes = (micros/(1000*60))%60
# hours = (micros/(1000*60*60))%24
# pdb.set_trace
milliseconds = (timestamp / 1000) % 1000
seconds = (( (timestamp / 1000) - milliseconds)/1000)%60
minutes = (((( (timestamp / 1000) - milliseconds)/1000) - seconds)/60) %60
hours = ((((((timestamp / 1000) - milliseconds)/1000) - seconds)/60) - minutes)/60
return hours, minutes, seconds
但这是行不通的。您能告诉我代码有什么问题吗?
最佳答案
考虑到您的时间戳记是float类型,您可以使用内置的divmod函数,如下所示:
timestamp = 3 * 3600 + 7 * 60 + 20 # just creating (3h 7m 20s) float format timestamp
print(timestamp) # gives 11240
假设您具有该时间戳记,则可以从中提取小时,分钟和秒,如下所示:
timestamp = float(timestamp)/1000000 # The timestamp is in microseconds
hours,remainder = divmod(timestamp, 3600)
minutes,seconds = divmod(remainder, 60)
print(hours) # gives 3
print(minutes) # gives 7
print(seconds) # gives 20
希望能有所帮助。编码愉快。
关于python - 如何将微秒转换为hh:mm:ss以导航到youtube视频中的特定时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44835107/