这里有新鲜出炉的 Java 函数式编程,程序狗速度看过来!
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要介绍了 Java 简单计算两个日期月数差的方法, 结合实例形式分析了 java 使用 Calendar 类进行日期时间操作相关技巧, 需要的朋友可以参考下
本文实例讲述了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0823/338439.html