85 lines
1.6 KiB
Python
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")
|