Last active
August 29, 2015 14:05
-
-
Save ashaindlin/1da4dc16b9b3df6d5fff to your computer and use it in GitHub Desktop.
Days-until calculator (r/dailyprogrammer Easy #2)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ ./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