Posted by Anonymous on Fri 2 May 08:06
report abuse | download | new post
- #!/usr/bin/env python
- #coding=utf-8
- # addDaysToDateV1.py
- from datetime import datetime, timedelta
- def getDate():
- dstr = raw_input("Enter date as month/day/year, or enter nothing for today: ")
- if dstr == "":
- today = datetime.today()
- dstr = today.strftime(format)
- d = datetime.strptime(dstr, format)
- print "Today's date entered"
- else:
- d = datetime.strptime(dstr, format)
- return d
- def getDiff():
- print "Enter positive int for days after date; negative int for days before date."
- return int(raw_input("Enter the number of days: "))
- format = "%m/%d/%Y"
- date = getDate()
- date2 = date.strftime(format)
- print "Date entered was", date2
- n = getDiff()
- diff = timedelta(days = n)
- plus_minus = ""
- if n >= 0:
- plus_minus = "plus"
- else:
- plus_minus = "minus"
- print "%s %s %s days is %s" % (date2, plus_minus, str(abs(n)),
- (date + diff).strftime(format))
- #TODO the datetime strftime() methods require year >= 1900; use mxDateTime instead?
- """
- ===============================================
- Enter date as month/day/year, or enter nothing for today: 1/1/2009
- Date entered was 01/01/2009
- Enter positive int for days after date; negative int for days before date.
- Enter the number of days: -200
- 01/01/2009 minus 200 days is 06/15/2008
- ===============================================
- Enter date as month/day/year, or enter nothing for today: 1/1/2008
- Date entered was 01/01/2008
- Enter positive int for days after date; negative int for days before date.
- Enter the number of days: 200
- 01/01/2008 plus 200 days is 07/19/2008
- ===============================================
- Enter date as month/day/year, or enter nothing for today:
- Today's date entered
- Date entered was 05/01/2008
- Enter positive int for days after date; negative int for days before date.
- Enter the number of days: 10000
- 05/01/2008 plus 10000 days is 09/17/2035
- ===============================================
- Enter date as month/day/year, or enter nothing for today:
- Today's date entered
- Date entered was 05/01/2008
- Enter positive int for days after date; negative int for days before date.
- Enter the number of days: -10000
- 05/01/2008 minus 10000 days is 12/14/1980
- ================================================
- Enter date as month/day/year, or enter nothing for today:
- Today's date entered
- Date entered was 05/01/2008
- Enter positive int for days after date; negative int for days before date.
- Enter the number of days: -100000
- Traceback (most recent call last):
- File "<string>", line 1, in <string>
- ValueError: year=1734 is before 1900; the datetime strftime() methods require year >= 1900
- ================================================
- """
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.