转换。
(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