2017-09-01 72 views
0

我想要在兩個日期之間的月份差異。一個月計算的差異如如何計算準確的月份差異b w java中的兩個日期

start_date = "2017-08-30"; 
end_date = "2017-09-01"; 

DIFF月的是月的0

start_date = "2017-06-05"; 
end_date = "2017-08-20"; 

DIFF是2

和 START_DATE = 「2017年8月15日」 ; end_date =「2017-08-15」; 月的差異是1

我正在使用日曆處理的java日曆。谷歌後,我找不到準確的解決方案,任何人都可以幫助我如何計算兩個日期之間的正確月份差異。

+0

以毫秒爲單位轉換這些天,然後執行計算,通過'SimpleDateFormat'class –

+0

恢復格式,請讓我知道更多關於條件,日期邏輯的任何舍入或簡單計算幾個月的差異,如diff 1.5個月? – PSo

+0

[使用Java在幾個月內獲取兩個日期之間的差異](https://stackoverflow.com/questions/16558898/get-difference-between-two-dates-in-months-using-java)和[Java日期月差異](https://stackoverflow.com/questions/1086396/java-date-month-difference) – HAYMbl4

回答

2

用java 8 ofcourse您需要創建從SLQ數據的情況下,LOCALDATE就可以計算出2個Temporal對象

LocalDate start = LocalDate.of(2017, 6, 5); 
LocalDate end = LocalDate.of(2017, 8, 15); 
long delta = ChronoUnit.MONTHS.between(start, end); 

System.out.println(delta); 

之間的區別......但不是使用大問題

喬達(幾乎相同java8實際上):

DateTime start = new DateTime().withDate(2017, 6, 5); 
DateTime end = new DateTime().withDate(2017, 8, 15); 

System.out.println(Months.monthsBetween(start , end).getMonths()); 

的破舊java.util.Date然後看到重複的問題

相關問題