Java簡(jiǎn)單計(jì)算兩個(gè)日期月數(shù)差的方法
本文實(shí)例講述了Java簡(jiǎn)單計(jì)算兩個(gè)日期月數(shù)差的方法。分享給大家供大家參考,具體如下:
/**
* 獲取兩個(gè)日期相差的月數(shù)
* @param d1 較大的日期
* @param d2 較小的日期
* @return 如果d1>d2返回 月數(shù)差 否則返回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);
// 獲取年的差值 假設(shè) d1 = 2015-8-16 d2 = 2011-9-30
int yearInterval = year1 - year2;
// 如果 d1的 月-日 小于 d2的 月-日 那么 yearInterval-- 這樣就得到了相差的年數(shù)
if(month1 < month2 || month1 == month2 && day1 < day2) yearInterval --;
// 獲取月數(shù)差值
int monthInterval = (month1 + 12) - month2 ;
if(day1 < day2) monthInterval --;
monthInterval %= 12;
return yearInterval * 12 + monthInterval;
}
PS:這里再為大家推薦幾款關(guān)于日期與天數(shù)計(jì)算的在線工具供大家使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬(wàn)年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽(yáng)歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時(shí)間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
- java?Date獲取本月的開始時(shí)間與結(jié)束時(shí)間
- java獲取指定開始時(shí)間與結(jié)束時(shí)間之間的所有日期
- java根據(jù)開始時(shí)間結(jié)束時(shí)間計(jì)算中間間隔日期的實(shí)例代碼
- Java計(jì)算兩個(gè)日期時(shí)間之間的天數(shù)最簡(jiǎn)方法
- Java編程實(shí)現(xiàn)計(jì)算兩個(gè)日期的月份差實(shí)例代碼
- java計(jì)算兩個(gè)日期之前的天數(shù)實(shí)例(排除節(jié)假日和周末)
- java計(jì)算兩個(gè)日期中間的時(shí)間
- 利用Java中Calendar計(jì)算兩個(gè)日期之間的天數(shù)和周數(shù)
- JAVA計(jì)算兩個(gè)日期相差的實(shí)例
- Java根據(jù)開始時(shí)間和結(jié)束時(shí)間及周幾計(jì)算日期的示例代碼
相關(guān)文章
Jenkins+Maven+SVN自動(dòng)化部署java項(xiàng)目
這篇文章主要介紹了Jenkins+Maven+SVN自動(dòng)化部署java項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
springboot攔截器Interceptor的使用,你都了解嗎
springmvc 中的攔截器可以對(duì)請(qǐng)求進(jìn)行判別,在請(qǐng)求到達(dá)控制器之前,把非法的請(qǐng)求給攔截掉下面來說一說, 它在springboot中的使用,感興趣的朋友一起看看吧2021-07-07
java實(shí)現(xiàn)簡(jiǎn)單的拼圖游戲
Java基礎(chǔ)字符編碼與內(nèi)存流詳細(xì)解讀

