编程题一:计算两个日期之间的天数
题目如下:
题目一
解题思路:
将两个日期格式化成time模块中的标准时间结构struct_time,缺少值用0补齐利用time模块函数分别计算两个日期到时间戳(指格林威治时间1970年01月01日00时00分00秒)的总秒数将2中计算得到的两个秒数相减,除以一天的总秒数(24*3600秒)即可算出两日期间的天数注:时间戳指的是格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数!由于python中time模块的很多函数都是可以直接计算出指定时间的时间戳(秒数),所以统计两个日期间的总天数就非常方便了!
代码与运行结果:
代码与运行结果
代码解析:
time1 = (int(t1[0]),int(t1[1]),int(t1[2]),0,0,0,0,0,0)这里补足6个0是因为在struct_time类型中至少需要9个值,而已经有了年月日,所以其他6个值都用0填充,这样一个struct_time类型的所有元素就齐全了,下一步计算时间戳timestru1 = time.mktime(time1)time.mktime()函数的参数为struct_time类型中的元素构成的元组,即上面的time1一个问题:下面代码中的“//”目的是什么?print('两个日期之间的总天数为:%d 天' % (int(abs(timestru2-timestru1))//24//3600))补充知识如下:
struct_time类型与时间格式转换
思考:如果不使用上述方法,该怎样统计两个日期之间的总天数呢?
思考题
问题二:如何计算今天是今年的第几天?
感兴趣的读者可以继续使用time模块中的函数来思考本题:
思考题二
感兴趣的读者可以评论区使用图片形式交流具体的代码实现!本文如有任何不足之处,欢迎读者批评指正,谢谢!