aboutsummaryrefslogtreecommitdiff
path: root/challenge-175/sgreen/python/ch-1.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-175/sgreen/python/ch-1.py')
-rwxr-xr-xchallenge-175/sgreen/python/ch-1.py25
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:])