两个日期月数差值计算

本文介绍了在金融项目中计算按月计息时,如何计算两个日期之间的月数差值。通过分析需求和逻辑,提出一种比较实际日期差值与月份第一天日期差值的思路,并给出了具体的Java代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 场景

  • 在金融类项目中,经常会涉及到利息计算,这里讨论一下按月计息的情况下,月数如何计算

2. 需求分析

  • 前提条件,计算日期差值的时候,留头去尾,举例01.01-01.02差值为1天
  • 月数其实算起来不难,难的是理清楚逻辑,
  • 这里提供一种思路,两个日期之间的实际差值与两个日期所在月份的第一天之间的差值进行对比,以下举例说明
  • 以“2018.01.31”、“2018.11.30”为例
    – 首先2018.11-2018.01 = 10个月
    – 其次2018.11.30-2018.01.31 = 303天
    – 再其次2018.11.01-2018.01.01 = 304天
    – 304天 < 305天,故算出来的10个月即为最终结果

3. 代码逻辑

3.0 以“2018.01.31”、“2018.12.1”为例

3.1 首先计算年月之间的月数差

  • 2018.12-2018.01 = 11个月

3.2 其次计算两个日期之间的实际差值

  • 2018.11.30-2018.01.31 = 304天

3.3 再次计算两个日期取当月第一天的日期,再计算一次日期差值

  • 2018.11.01-2018.01.01 = 334天

3.4 比较3.3和3.2的日期差值大小

  • 304天 < 305天,故算出来的11个月即为最终结果
  • 如果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值