为了账号安全,请及时绑定邮箱和手机立即绑定

在 youtubedl 中将秒转换为分钟和小时

在 youtubedl 中将秒转换为分钟和小时

PHP
函数式编程 2023-11-09 10:10:39
 embed = discord.Embed(            title=self.title, description=f"**Channel:** {self.uploader}\n **Duration:** {self.duration}", url=self.video_url)        embed.set_footer(            text=f"Requested by: {self.requested_by.name}",            icon_url=self.requested_by.avatar_url)        if self.thumbnail:            embed.set_thumbnail(url=self.thumbnail)        return embed所以这都是关于第二行的。现在输出显示持续时间(以秒为单位)。我想更改格式以便显示实际时间。例如视频时长 3 分钟:YouTube 上显示的是 03:00。我的机器人将其转换为 300 秒。有没有办法改变这个,以便给出实际时间?
查看完整描述

2 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

从文档(https://github.com/ytdl-org/youtube-dl/blob/master/README.md#readme)开始,duration所以Length of the video in seconds你可以手动从几秒开始hours:minutes:seconds

total_seconds = self.duration

hours = (total_seconds - ( total_seconds % 3600))/3600

seconds_minus_hours = (total_seconds - hours*3600)

minutes = (seconds_minus_hours - (seconds_minus_hours % 60) )/60

seconds = seconds_minus_hours - minutes*60


time = '{}:{}:{}'.format(int(hours), int(minutes), int(seconds))

该时间字符串可能有点混乱(因此int()当您打印它时它没有小数点),但它包含所有相关信息。


查看完整回答
反对 回复 2023-11-09
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

对于那些路过但仍然需要帮助的人,这是我已经完成的一种更简单的转换方法。


time_to_convert = 249 #YOUR VARIABLE


s= time_to_convert % 60  #seconds

m= time_to_convert / 60 #minutes


print(f'{int(m)}min{s:02d}s')   #":02d" will let your seconds look like this 05s


#       ^int() maybe you don't need this at all

对于 HOUR,您只需将秒数除以 1 小时的总秒数即可。含义 => 3600


h = time_to_convert / 3600 #total ammount of s in a hour

print(f'{int(h)}')  #now you'll need the int() unless you want to show broken/floating hours



查看完整回答
反对 回复 2023-11-09
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信