Files
beets-setup/scripts/time.py
2026-05-12 14:13:21 -04:00

85 lines
1.6 KiB
Python

SECOND = 1
MINUTE = SECOND * 60
HOUR = MINUTE * 60
DAY = HOUR * 24
WEEK = DAY * 7
MONTH = DAY * 30
YEAR = DAY * 365
def seconds(secs):
return secs
def minutes(secs):
return secs // MINUTE
def hours(secs):
return secs // HOUR
def days(secs):
return secs // DAY
def weeks(secs):
return secs // WEEK
def months(secs):
return secs // MONTH
def years(secs):
return secs // YEAR
def stamp(secs):
time = secs
y = years(time)
time -= (y * YEAR)
M = months(time)
time -= (M * MONTH)
w = weeks(time)
time -= (w * WEEK)
d = days(time)
time -= (d * DAY)
h = hours(time)
time -= (h * HOUR)
m = minutes(time)
time -= (m * MINUTE)
s = seconds(time)
return f"{y} Years, {M} Months, {w} Weeks, {d} Days, {h} Hours, {m} Minutes, {s} Seconds"
tracks = 4669
ehour = 0
eminute = 3
esecond = 0
eavglen = (ehour * HOUR) + (eminute * MINUTE) + (esecond * SECOND)
expected = eavglen * tracks
actual = 1070972
aavglen = (actual // tracks)
ahour = (aavglen // HOUR)
aminute = ((aavglen % HOUR) // MINUTE)
asecond = (aavglen % MINUTE)
estamp = stamp(expected)
astamp = stamp(actual)
print(f"Expected Average Seconds: {eavglen}")
print(f"Actual Average Seconds : {aavglen}")
print(f"Expected Seconds: {expected}")
print(f"Actual Seconds : {actual}")
print(f"Expected Time: {estamp}")
print(f"Actual Time : {astamp}")
print(f"Expected Average Song Length: {ehour} Hours, {eminute} Minutes, {esecond} Seconds")
print(f"Actual Song Length : {ahour} Hours, {aminute} Minutes, {asecond} Seconds")