使用humanfriendlyTimer()函数实现时间精度控制
发布时间:2024-01-14 04:48:10
humanfriendlyTimer()函数是一个用于控制时间精度的函数,它可以将时间转换为更易读和友好的格式。该函数接受一个时间戳或以秒为单位的时间间隔作为参数,并根据时间的大小自动选择合适的时间单位,例如秒、分钟、小时或天。
下面是humanfriendlyTimer()函数的实现:
from datetime import timedelta
def humanfriendlyTimer(seconds):
# 定义时间单位和对应的秒数
time_units = [
('day', 24 * 60 * 60),
('hour', 60 * 60),
('minute', 60),
('second', 1)
]
# 如果时间间隔为负数,抛出异常
if seconds < 0:
raise ValueError('Time interval cannot be negative')
# 根据时间大小选择时间单位,并计算时间值
for unit, seconds_per_unit in time_units:
if seconds >= seconds_per_unit:
value = seconds / seconds_per_unit
# 如果时间值为整数,则取整
if value.is_integer():
value = int(value)
return f'{value} {unit}{"" if value == 1 else "s"}'
# 如果时间间隔为0秒,则返回0秒
return '0 seconds'
下面是humanfriendlyTimer()函数的使用示例:
print(humanfriendlyTimer(120)) # 输出:2 minutes print(humanfriendlyTimer(3600)) # 输出:1 hour print(humanfriendlyTimer(86400)) # 输出:1 day print(humanfriendlyTimer(123456789)) # 输出:1 day print(humanfriendlyTimer(0)) # 输出:0 seconds print(humanfriendlyTimer(-10)) # 抛出异常:ValueError: Time interval cannot be negative
通过上述代码,我们可以看到humanfriendlyTimer()函数将时间间隔转换为易读的格式,并根据时间大小选择合适的时间单位(秒、分钟、小时或天)。同时,代码还处理了一些特殊情况,如时间间隔为0或负数的情况。
