chapter 6 exxercise 6_15

#-*-coding:utf-8-*-
'''
题6—15: 转换
A 给出两个可识别格式的日期  比如MM/DD/YY 或者 DD/MM/YY 格式   计算出两个日期间的天数
B 给出一个人的出生生日   计算出此人出生到现在的人天数 包括所有的闰月
C 还是上面的例子  计算出到此人下次过生日还有多少天
'''
import datetime as da

# def judge_year(yser_a):
#     #  year_a 为整数进行闰年判断
#     year_day = 365
#     feb_day = 28
#     if yser_a % 4 == 0 and yser_a % 100 != 0:
#         year_day = 366
#         feb_day = 29
#     elif yser_a % 400 == 0:
#         year_day = 366
#         feb_day = 29
#     print year_day, feb_day
#     return [year_day, feb_day]

def read_input(a, b):
    # 将输入的字符串进行分割 转换成三个整数进行输出
    # 转换为列表
    a_input = []
    b_input = []
    a_tem = a.split('\\', 3)
    b_tem = b.split('\\', 3)
    for i in a_tem:
        a_input.append(int(i))
    for j in b_tem:
        b_input.append(int(j))
    # print a_input, b_input
    return [a_input,b_input]

def read_input_birthday(a):
    # 将输入的字符串进行分割 转换成三个整数进行输出
    # 转换为列表
    a_input = []
    a_tem = a.split('\\', 3)
    for i in a_tem:
        a_input.append(int(i))
    # print a_input, b_input
    return a_input


def main_a(a,b):
    data_input = read_input(a, b)
    data1_tem = data_input[0]
    data2_tem = data_input[1]
    data1 = da.date(data1_tem[0], data1_tem[1], data1_tem[2])
    data2 = da.date(data2_tem[0], data1_tem[1], data1_tem[2])
    days = abs(data1-data2)
    print days

def main_b(a):
    data_input = read_input_birthday(a)
    my_birthday = da.date(data_input[0], data_input[1], data_input[2])
    today = da.date.today()
    if my_birthday < today:
        my_birthday = my_birthday.replace(year=today.year + 1)
    print my_birthday,abs(my_birthday-today)
    return my_birthday


if __name__ == '__main__':
    # a = raw_input('请输入日期格式1:\n')
    # b = raw_input('请输入日期格式2:\n')
    # read_input(a, b)
    # main_a(a, b)
    # judge_year(2016)
    c = raw_input('请输入生日:\n')
    main_b(c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值