首页 > 编程 > Java > 正文

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

2019-11-26 12:07:53
字体:
来源:转载
供稿:网友

本文实例讲述了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:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.VeVB.COm/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.VeVB.COm/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.VeVB.COm/bianmin/yinli2yangli

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表