標籤:
轉換。
(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 datetimedate_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 datetimedate_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 datetimedate_input = raw_input(‘Please input his birthday, MM / DD / YYYY ... ‘)import timenext_year = int(time.strftime(‘%Y‘,time.localtime(time.time()))) + 1next_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
python核心編程第六章練習6-15