Skip to content

Instantly share code, notes, and snippets.

@ashaindlin
Last active August 29, 2015 14:05
Show Gist options
  • Save ashaindlin/1da4dc16b9b3df6d5fff to your computer and use it in GitHub Desktop.
Save ashaindlin/1da4dc16b9b3df6d5fff to your computer and use it in GitHub Desktop.
Days-until calculator (r/dailyprogrammer Easy #2)
#!/usr/bin/env python
import datetime, sys
today = datetime.date.today()
month = today.month
year = today.year
if len(sys.argv) == 2:
day = int(sys.argv[1])
elif len(sys.argv) == 3:
day = int(sys.argv[1])
month = int(sys.argv[2])
elif len(sys.argv) == 4:
day = int(sys.argv[1])
month = int(sys.argv[2])
year = int(sys.argv[3])
else:
from os.path import basename
print "Usage: {} day [month [year]]".format(basename(__file__))
sys.exit(1)
try:
then = datetime.date(year, month, day)
delta = then - today
preposition = "until" if delta.days >= 0 else "since"
print abs(delta.days), "days", preposition, then,
sys.exit(0)
except ValueError:
print "Not a valid date."
sys.exit(1)
$ ./daysuntil 15
7 days until 2014-08-15
$ ./daysuntil 8 3
153 days since 2014-03-08
$ ./daysuntil 24 8
16 days until 2014-08-24
$ ./daysuntil 1 6 2016
663 days until 2016-06-01
$ ./daysuntil
Usage: daysuntil.py day [month [year]]
$ ./daysuntil 1 6 201 6
Usage: daysuntil.py day [month [year]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment