python - 如何将微秒转换为hh:mm:ss以导航到youtube视频中的特定时间?

标签 python datetime youtube

我有一个时间步(例如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/

相关文章:

仅当从上下文菜单调用时,Python 脚本才会在 subprocess.run() 调用上执行失败

python - 根据参数类型调用类 A 的方法

C# DateTime 总是创建新对象?

Python:将日期转换为日期时间的最有效方法

javascript - iframe youtube 视频开始播放后背景变暗

iphone - iPhone 应用程序中的 YouTube 视频完成通知

python - 有没有办法自动获取许多股票的一般信息,如市盈率、 yield 等?

python - 使用 pandas 获取列的当前最大值并输入到新列中

jQuery 倒计时未正确倒计时

android - Youtube 上传视频 Android