python编程工时计算_Python编程题:两个日期间的天数统计(附代码)

编程题一:计算两个日期之间的天数

题目如下:

6159252dd42a28340b1d85d3b28e6cef14cebf74.jpeg?token=fd24b0d067ebcc4efcab8cc5eac599ac&s=8712826F1FE2CC4F4C15E4DF0000C0B2题目一

解题思路:

将两个日期格式化成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模块的很多函数都是可以直接计算出指定时间的时间戳(秒数),所以统计两个日期间的总天数就非常方便了!

代码与运行结果:

5882b2b7d0a20cf4cf7a2fca9c32ee33adaf99fb.jpeg?token=0ac182d4c7856a24b0fa8829cc2c7dcc&s=E750E532010EC54D5455A0DA010010B2代码与运行结果

代码解析:

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))补充知识如下:

e7cd7b899e510fb3d0c23a0533086d90d0430c0e.jpeg?token=5b1c8590c00991c9cb2cdba886c2ac31&s=6EC6ED1E49FFE0CC56F999DA020040B1struct_time类型与时间格式转换

思考:如果不使用上述方法,该怎样统计两个日期之间的总天数呢?

c2fdfc039245d6880cfae0884ef9d81bd31b24e7.jpeg?token=cf552681d6b5e9f8327357174da94613&s=7E283463451357CC0CD5EDDA010090B2思考题

问题二:如何计算今天是今年的第几天?

感兴趣的读者可以继续使用time模块中的函数来思考本题:

8601a18b87d6277f820d6be0c103ba35e824fc88.jpeg?token=dc7d116cb24f935b1edaf7970c3737f9&s=8BFEE30789C2ED640AA5E46A02004073思考题二

感兴趣的读者可以评论区使用图片形式交流具体的代码实现!本文如有任何不足之处,欢迎读者批评指正,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值