欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java简单计算两个日期月数差的方法

程序员文章站 2023-12-19 10:19:28
本文实例讲述了java简单计算两个日期月数差的方法。分享给大家供大家参考,具体如下: /** * 获取两个日期相差的月数 * @param d1 较大的日期...

本文实例讲述了java简单计算两个日期月数差的方法。分享给大家供大家参考,具体如下:

/**
* 获取两个日期相差的月数
* @param d1  较大的日期
* @param d2  较小的日期
* @return 如果d1>d2返回 月数差 否则返回0
*/
public static int getmonthdiff(date d1, date d2) {
    calendar c1 = calendar.getinstance();
    calendar c2 = calendar.getinstance();
    c1.settime(d1);
    c2.settime(d2);
    if(c1.gettimeinmillis() < c2.gettimeinmillis()) return 0;
    int year1 = c1.get(calendar.year);
    int year2 = c2.get(calendar.year);
    int month1 = c1.get(calendar.month);
    int month2 = c2.get(calendar.month);
    int day1 = c1.get(calendar.day_of_month);
    int day2 = c2.get(calendar.day_of_month);
    // 获取年的差值 假设 d1 = 2015-8-16 d2 = 2011-9-30
    int yearinterval = year1 - year2;
    // 如果 d1的 月-日 小于 d2的 月-日 那么 yearinterval-- 这样就得到了相差的年数
    if(month1 < month2 || month1 == month2 && day1 < day2) yearinterval --;
    // 获取月数差值
    int monthinterval = (month1 + 12) - month2 ;
    if(day1 < day2) monthinterval --;
    monthinterval %= 12;
    return yearinterval * 12 + monthinterval;
}

ps:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:

在线万年历日历:

在线阴历/阳历转换工具:

更多关于java相关内容感兴趣的读者可查看本站专题:《java日期与时间操作技巧汇总》、《java数据结构与算法教程》、《java操作dom节点技巧总结》和《java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

上一篇:

下一篇: