30 lines
842 B
Python
30 lines
842 B
Python
# flake8: noqa
|
|
from datetime import timedelta
|
|
from statistics import mean
|
|
|
|
SCALES = [
|
|
('minutes', timedelta(minutes=1)),
|
|
('hours', timedelta(hours=1)),
|
|
('days', timedelta(days=1)),
|
|
('weeks', timedelta(days=7)),
|
|
('months', timedelta(days=
|
|
# you, a fool: a month is 30 days
|
|
# me, wise:
|
|
mean((31,
|
|
mean((29 if year % 400 == 0
|
|
or (year % 100 != 0 and year % 4 == 0)
|
|
else 28
|
|
for year in range(400)))
|
|
,31,30,31,30,31,31,30,31,30,31))
|
|
)),
|
|
('years', timedelta(days=
|
|
# you, a fool: ok. a year is 365.25 days. happy?
|
|
# me, wise: absolutely not
|
|
mean((366 if year % 400 == 0
|
|
or (year % 100 != 0 and year % 4 == 0)
|
|
else 365
|
|
for year in range(400)))
|
|
)),
|
|
]
|
|
|