python核心编程第六章练习6-15

转换。
(a)给出两个可识别格式的日期,比如MM/DD/YY或者DD/MM/YY格式。计算出两个日期之间的天数。
(b)给出一个人的生日,计算此人从出生到现在的天数,包括所有的闰月。
(c)还是上面的例子,计算出此人下次过生日还有多少天。


【答案】
(a)代码如下:

def date_convert(date_input):
    month = int(date_input.split('/')[0])
    day   = int(date_input.split('/')[1])
    year  = int('20' + date_input.split('/')[2])
    return (year, month, day)

import datetime
date_input = raw_input('Please input the begin date, MM / DD / YY ... ')
d1 = datetime.date(date_convert(date_input)[0], date_convert(date_input)[1], date_convert(date_input)[2])
date_input = raw_input('Please input the end date, MM / DD / YY ... ') 
d2 = datetime.date(date_convert(date_input)[0], date_convert(date_input)[1], date_convert(date_input)[2])
print (d2 - d1).days

  

(b)代码如下:

def date_convert(date_input):
    month = int(date_input.split('/')[0])
    day   = int(date_input.split('/')[1])
    year  = int(date_input.split('/')[2])
    return (year, month, day)

import datetime
date_input = raw_input('Please input his birthday, MM / DD / YYYY ... ')
d1 = datetime.date(date_convert(date_input)[0], date_convert(date_input)[1], date_convert(date_input)[2])
print (datetime.date.today() - d1).days

  


(c)代码如下:

def date_convert(date_input):
    month = int(date_input.split('/')[0])
    day   = int(date_input.split('/')[1])
    year  = int(date_input.split('/')[2])
    return (year, month, day)

import datetime
date_input = raw_input('Please input his birthday, MM / DD / YYYY ... ')

import time
next_year = int(time.strftime('%Y',time.localtime(time.time()))) + 1
next_birthday = datetime.date(next_year, date_convert(date_input)[1], date_convert(date_input)[2])
print (next_birthday - datetime.date.today()).days

  以上代码支持06/13/15  不支持06/13/2015

原文地址:https://www.cnblogs.com/Kaivenblog/p/4642107.html