pastebin - collaborative debugging

pastebin is a collaborative debugging tool allowing you to share and modify code snippets while chatting on IRC, IM or a message board.

This site is developed to XHTML and CSS2 W3C standards. If you see this paragraph, your browser does not support those standards and you need to upgrade. Visit WaSP for a variety of options.

py77.python private pastebin - collaborative debugging tool What's a private pastebin?


Posted by Anonymous on Fri 2 May 08:06
report abuse | download | new post

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. # addDaysToDateV1.py
  4.  
  5. from datetime import datetime, timedelta
  6.  
  7. def getDate():
  8.     dstr = raw_input("Enter date as month/day/year, or enter nothing for today: ")
  9.     if dstr == "":
  10.         today = datetime.today()
  11.         dstr = today.strftime(format)
  12.         d = datetime.strptime(dstr, format)
  13.         print "Today's date entered"
  14.     else:
  15.         d = datetime.strptime(dstr, format)
  16.     return d
  17.  
  18. def getDiff():
  19.     print "Enter positive int for days after date; negative int for days before date."
  20.     return int(raw_input("Enter the number of days: "))
  21.  
  22. format = "%m/%d/%Y"
  23.  
  24. date = getDate()
  25. date2 = date.strftime(format)
  26. print "Date entered was", date2
  27.  
  28. n = getDiff()
  29. diff = timedelta(days = n)
  30.  
  31. plus_minus = ""
  32. if n >= 0:
  33.     plus_minus = "plus"
  34. else:
  35.     plus_minus = "minus"
  36.    
  37.  
  38. print "%s %s %s days is %s" % (date2, plus_minus, str(abs(n)),
  39.       (date + diff).strftime(format))
  40.    
  41. #TODO the datetime strftime() methods require year >= 1900; use mxDateTime instead?
  42.  
  43. """
  44. ===============================================
  45. Enter date as month/day/year, or enter nothing for today: 1/1/2009
  46. Date entered was 01/01/2009
  47. Enter positive int for days after date; negative int for days before date.
  48. Enter the number of days: -200
  49. 01/01/2009 minus 200 days is 06/15/2008
  50. ===============================================
  51. Enter date as month/day/year, or enter nothing for today: 1/1/2008
  52. Date entered was 01/01/2008
  53. Enter positive int for days after date; negative int for days before date.
  54. Enter the number of days: 200
  55. 01/01/2008 plus 200 days is 07/19/2008
  56. ===============================================
  57. Enter date as month/day/year, or enter nothing for today:
  58. Today's date entered
  59. Date entered was 05/01/2008
  60. Enter positive int for days after date; negative int for days before date.
  61. Enter the number of days: 10000
  62. 05/01/2008 plus 10000 days is 09/17/2035
  63. ===============================================
  64. Enter date as month/day/year, or enter nothing for today:
  65. Today's date entered
  66. Date entered was 05/01/2008
  67. Enter positive int for days after date; negative int for days before date.
  68. Enter the number of days: -10000
  69. 05/01/2008 minus 10000 days is 12/14/1980
  70. ================================================
  71. Enter date as month/day/year, or enter nothing for today:
  72. Today's date entered
  73. Date entered was 05/01/2008
  74. Enter positive int for days after date; negative int for days before date.
  75. Enter the number of days: -100000
  76. Traceback (most recent call last):
  77.  File "<string>", line 1, in <string>
  78. ValueError: year=1734 is before 1900; the datetime strftime() methods require year >= 1900
  79. ================================================
  80. """

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.

Syntax highlighting:

To highlight particular lines, prefix each line with @@


Remember me