日期方面操作

来源:互联网 发布:新加坡进出口数据 编辑:程序博客网 时间:2024/06/11 04:28

实现与日期有关的操作。如计算两个日期之间的间隔、指定日期之后若干天所对应的日期、比较两个日期的大小等。可自行扩展其他功能,如判断该日期是一年中的第几天、该日期是星期几、该日期是一年中的第几周等等。

下面是我的代码

import datetimedef ini_a():   l1=input('起始时间 YYYY-mm-dd:')   l2=input('终止时间 YYYY-mm-dd:')   d1 = datetime.datetime.strptime(l1, '%Y-%m-%d')   d2 = datetime.datetime.strptime(l2, '%Y-%m-%d')   delta = d2 - d1   print('时间间隔为:',delta.days)def a1():   d1 = datetime.datetime.strptime(input('起始时间 YYYY-mm-dd %H:%M:%S:'), '%Y-%m-%d %H:%M:%S')   delta1 = datetime.timedelta(days=int(input('N天之后的时间:')))   df = d1 + delta1   print(df.strftime('%Y-%m-%d %H:%M:%S'))def a2():   d1 = datetime.datetime.strptime(input('起始时间 YYYY-mm-dd %H:%M:%S:'), '%Y-%m-%d %H:%M:%S')   d2 = datetime.datetime.strptime(input('起始时间 YYYY-mm-dd %H:%M:%S:'), '%Y-%m-%d %H:%M:%S')   df = d1 - d2   if df.days==0 and df.seconds==0:           print('时间相等')   elif df.days>0  or (df.days==0 and df.seconds>0):           print('时间较大的为:',d1)   else:           print('时间较大的为:',d2)def a3():   y = int(input('请输入4位数字的年份:'))  #获取年份   m = int(input('请输入月份:'))  #获取月份   d = int(input('请输入是哪一天:'))  #获取“日”    targetDay = datetime.date(y, m, d)  #将输入的日期格式化成标准的日期   dayCount = targetDay - datetime.date(targetDay.year - 1, 12, 31)  #减去上一年最后一天   print('%s是%s年的第%s天。'% (targetDay, y, dayCount.days))def a4():    d1 = datetime.datetime.strptime(input('起始时间 YYYY-mm-dd :'), '%Y-%m-%d')    print('今天是星期',d1.weekday()+1)def show():    print('1.求时间间隔')    print('2.n天之后时间:')    print('3.比较时间大小:')    print('4.求时间在一年中是多少天')    print('5.求该时间是星期几:')while(1):    show()    print('********************\n')    x = input('请选择序号:')    if x == '1':       ini_a()       print('********************\n')    elif x == '2':        a1()        print('********************\n')    elif x == '3':        a2()        print('********************\n')    elif x == '4':        a3()        print('********************\n')    elif x == '5':        a4()        print('********************\n')    else:        break


0 0