2016-08-04 9 views

答えて

0

あなたはJodaなしで試しましたか?このような?

public int getDays() { 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTime(startDate); 
    int yearsI = calendar.get(Calendar.YEAR); 
    int monthsI = calendar.get(Calendar.MONTH); 
    int daysI = calendar.get(Calendar.DATE); 
    calendar.setTime(endDate); 
    int yearsF = calendar.get(Calendar.YEAR); 
    int monthsF = calendar.get(Calendar.MONTH); 
    int daysF = calendar.get(Calendar.DATE); 
    int resultI = yearsI * 360 + monthsI * 30 + daysI; 
    int resultF = yearsF * 360 + monthsF * 30 + daysF; 
    return resultF - resultI; 
} 

これは、Days360というクラスのインスタンスメソッドであり、これはコンストラクタです。

public Days360(Date startDate, Date endDate) { 
    this.startDate = startDate; 
    this.endDate = endDate; 
} 

このように使用できます。

GregorianCalendar start = new GregorianCalendar(2011, 8, 12); 
GregorianCalendar end = new GregorianCalendar(2013, 3, 31); 
Days360 days360 = new Days360(start.getTime(), end.getTime()); 
int final_result = days360.getDays(); 

私はエクセルDAYS360そのまったく同じ実装ではありませんけど、私は(日付開始 - 終了日)の日付の6組でそれをテストし、それが正常に動作します。

関連する問題