任务:
寻找上一个星期五的日期。python
解决方案:
经过python标准库的datetime模块,能够快速完成此任务。测试
import datetime, calendar def find_last_Friday(): last_Friday = datetime.date.today() oneday = datetime.timedelta(days=1) while last_Friday.weekday() != calendar.FRIDAY: last_Friday -= oneday print(last_Friday)
测试结果:spa
任务:
给定两个日期,计算这两个日期之间隔了几天。code
解决方案:ip
def calc_date_time(start_time,end_time): count = 0 oneday = datetime.timedelta(days=1) start_time = datetime.datetime.strptime(start_time,'%Y-%m-%d') end_time = datetime.datetime.strptime(end_time,'%Y-%m-%d') while start_time != end_time: start_time += oneday count += 1 return count
测试用例:it
if __name__ == '__main__': # find_last_Friday() start_time = '2018-05-07' end_time = '2018-06-01' print(calc_date_time(start_time,end_time))
测试结果:ast
讨论:
此实现方法有一个bug,无法实现一年以上的计算会形成越界错误。此方法也有诸多限制,时间格式是固定的,计算量大时效率很低。class