3

友達私はユーザーから2つの入力を受け取っています

1.InitDate from DatePicker
2.Difference in between two dates (numberOfDates)

FinalDateを次のように計算する必要があります

FinalDate=InitDate+numberOfDates

今までやってきたこと

private void CalcLastDate(int days) 
        {

long millis=days*24*60*60;

            Calendar c = Calendar.getInstance();

            c.set(settingsFromDate.getYear(), settingsFromDate.getMonth(), settingsFromDate.getDayOfMonth());
            long initDate = c.getTimeInMillis();

            long longFinalDate=initDate+millis;

}
4

3 に答える 3

2

これを試して:

Calendar cal = Calendar.getInstance();
cal.setTime(initDate); //initDate must be of java.util.Date
cal.add(Calendar.DAY_OF_MONTH, numberOfDates);

次の方法で最終日を取得できます。

Date finalDate = cal.getTime();

また、サードパーティのAPIを使用する必要はありません。

于 2012-10-12T06:17:25.240 に答える
1

JodaDateTimeライブラリを使用します。DateTime#plusDays日を追加します。

//Initialize your date
DateTime dateTime = DateTime(...);

dateTime.plusDays(days);

日付の処理は非常に簡単で、このライブラリはJava8に追加されます。

于 2012-10-12T06:19:31.387 に答える
0

あなたはおそらくこれに似た何かをすることができます。

private DatePicker initPicker;
dp = (DatePicker) findViewById(R.id.initPicker);
final Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR,initPicker.getYear());
    c.setMonth(Calendar.MONTH,initPicker.getMonth());
    c.setDayOfMonth(Calendar.DAY_OF_MONTH,initPicker.getDayOfMonth());
long millis = c.getTimeInMillis();

さまざまな日付ピッカーオブジェクト用。次に、必要なシーケンスでミリを加算または減算します。

于 2012-10-12T06:27:33.250 に答える