首页 > 开发 > Java > 正文

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

2024-07-13 10:08:35
字体:
来源:转载
供稿:网友

本文实例讲述了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;}

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


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表