c语言计算两个日期相差天数,不用循环语句

文章介绍了如何通过将日期转化为天数来高效计算两个日期之间的相差天数,避免了循环和复杂的闰年判断。这种方法基于公元前1年1月1日作为起点,通过周年天数和当年已过天数的计算公式,给出C语言的实现代码,并讨论了改变计日起点的方法。
摘要由CSDN通过智能技术生成

计算的相差天数,与excel中日期相减的结果相同

计算日期之差,最直接的方法是用循环“数”天数,但是这个方法不够优美,因为效率低,而且需要建立一个数组存放每月的天数,还需要多次判断闰年。而本文介绍的方法,相当于求两个日期相差天数的解析式,口算都能算出来。

基本思路:日期转化为天数相减

这个方法的基本思路是将日期转化成天数,再将天数相减,就得到了日期相差的天数。日期转化成的天数可以认为是这个日期与公元前1年1月1日(以这一天为计日起点比较方便,当然也有方法改)相差的天数。说到这里你可能有疑问:为什么用相差天数求相差天数,这样不是麻烦了吗?其实不是。选定这一天,相当于选定了数轴原点,于是数轴上每一点(日期)都能用坐标(天数)表示,将坐标(天数)相减,就能得到区间长度(相差天数)。对日期来说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值