# testing (or tasting) the module datetime and its method date
# datetime supports calendar arithmetic
# strftime() requires the year to be >=1900
# date() can handle years down to 0001
# Python24 tested vegaseat 3/27/05
import datetime
import calendar
today = datetime.date.today()
oneday = datetime.timedelta(days=1)
# loop back to most recent Friday (could be today)
# takes care of end of month and even leap years
friday = today
while friday.weekday() != calendar.FRIDAY:
friday -= oneday
oneweek = datetime.timedelta(days=7)
nextweek = today + oneweek
nextyear = today.replace(year=today.year+1)
print "Today (year-month-day) =", today
print "Most recent Friday =", friday
print "One week from today =", nextweek
print "One year from today =", nextyear
print "Current time =", datetime.datetime.now().time() #just the time
print "Lunchtime =", datetime.time(12, 00) # 12:00:00
print '-'*50
# a typical birthday year, month, day
# or change it to your own birthday...
birthday = datetime.date(1955, 4, 1)
# three different ways to present a date
# 1955-04-01
print "Birthday format1:", birthday
# 04/01/55
print "Birthday format2:", birthday.strftime("%m/%d/%y")
# 01Apr1955
print "Birthday format3:", birthday.strftime("%d%b%Y")
age = today - birthday
print "You are", age.days, "days old today!"
# extract the year from todays date
thisyear = int(today.strftime("%Y")[0:4])
# party message (include date and time) ...
rightnow = datetime.datetime.today()
bparty = datetime.datetime(thisyear, 4, 1, 14, 30)
# check if you can still make it to the party ...
if bparty > rightnow:
print "Birthday party", bparty
else:
print "Missed this year's birthday party!"
print '-'*50
# calculate days till xmas of this year
xmas = datetime.date(thisyear, 12, 25)
tillXmas = xmas - today
print "There are %d days till xmas!" % tillXmas.days
print '-'*50
# add days to a given date
delta = datetime.timedelta(days=77)
addDays = today + delta
print "Today's date is :", today.strftime("%d%b%Y")
print "77 days from today it will be :", addDays.strftime("%d%b%Y")
print '-'*50
Weekday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday']
print "Today is", Weekday[datetime.date.weekday(today)]
print
print "If you were born on %s you were born on a %s" % (birthday.strftime("%d%b%Y"), Weekday[datetime.date.weekday(birthday)])