vba 日期加一年_第三章:日期处理问题

该博客讨论如何使用VBA解决两个日期之间的天数计算问题。当日期连续时,规定间隔为2天。文章提供了一个思路,即假设第一个日期更早,通过不断加1天直到两个日期相等,同时考虑平年和闰年的天数。还提到了通过预计算年份的天数来加速计算的方法。
摘要由CSDN通过智能技术生成

题目描述:

有两个日期,求两个日期之间的天数,如果两个日期是连续的,则规定它们之间的天数为2天。

样式输入:

20130101
20130105

样式输出:

5

思路:

  1. 不妨假设第一个日期早于第二个日期(否则较换即可)。
  2. 一个比较直接的思路,就是让第一个日期不断加1天,直到第一个日期等于第二个日期为止,即可统计出答案。如果当加了一天之后天数 d 等于当前月份 m 所拥有的天数加1,那么就令月份 m 加1、同时置天数 d为1号(即把日期变为下一个月的1号);如果此时月份变为13,那么就令年份 y 加1、同时置月份 m 为 1 月(即把日期变为下一年的 1 月)。
  3. 为了方便直接去除每一个月的天数,不妨给定一个二维数组 int month[13][2],用来存放每个月的天数,其中第二维为0表示平年,第二维为1表示闰年。
  4. 如果想要加快速度,可以先把第一个日期的年份不断加 1 ,直到与第二个日期的年份之间相差为 1 为止,期间根据平年或是闰年来累加 365 天或者 366 天即可。

实现代码:

#include <iostream>
using
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值