diff options
Diffstat (limited to 'challenge-175/sgreen/python/ch-1.py')
| -rwxr-xr-x | challenge-175/sgreen/python/ch-1.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-175/sgreen/python/ch-1.py b/challenge-175/sgreen/python/ch-1.py new file mode 100755 index 0000000000..9c99981d3b --- /dev/null +++ b/challenge-175/sgreen/python/ch-1.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 + +import sys +from datetime import date, timedelta +from dateutil.relativedelta import relativedelta + + +def main(arg): + # Use the year provided or the current year if it wasn't + year = int(arg[0]) if len(arg) else date.today().year + + for m in range(12): + # Get the last day of each month + dt = date(year, 1+m, 1) + relativedelta(months=1) - timedelta(days=1) + + # Get the day of week (Monday is 1, Sunday is 7) + dow = dt.isoweekday() + + # Take off the number of days to get last Sunday + last_sunday = dt-timedelta(days=dow % 7) + print(last_sunday.isoformat()) + + +if __name__ == '__main__': + main(sys.argv[1:]) |
