[英]How to convert minutes to hours and minutes in python?
所以我想创建一个简单的下载eta计算器,这是我的代码
import PySimpleGUI as sg
layout = [[sg.Text('What is your download speed in MB/s?')],
[sg.InputText()],
[sg.Text('What is the size of the file in GB?')],
[sg.InputText()],
[sg.Submit(), sg.Cancel()]]
window = sg.Window('Window Title', layout)
event, values = window.read()
window.close()
download_speed = float(values[0])
file_size = float(values[1]) * 1024
file_size_divided = file_size/download_speed
eta_in_minutes = file_size_divided/60
eta_in_hours = eta_in_minutes/60
eta_in_hours_formatted = eta_in_hours
sg.popup('ETA in minutes', round(eta_in_minutes, 2), 'ETA in hours', round(eta_in_hours, 2))
但我希望以小时为单位的 eta 以小时和分钟的方式显示,现在如果您使用例如 2.2 mb/s 和 46 GB,它将给出 2.2 小时的答案,我想说 2 小时和 12 分钟。
通过将小时转换为分钟来使用模数
from math import floor
eta_in_hours = 2.6
eta_in_hours_and_minutes = (floor(eta_in_hours), eta_in_hours * 60 % 60)
print(eta_in_hours_and_minutes)
>>> (2, 36)
也可以使用divmod
:
eta_in_hours = 2.6
eta_in_minutes = eta_in_hours * 60
eta_in_hours_and_minutes = divmod(eta_in_minutes, 60)
print(eta_in_hours_and_minutes)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.