2017-05-29 10 views
-2

私はこれに関する多くの研究を行いました:Android Studioの月数を入力するだけで開始日を入力した後の日付の計算方法は?

Androidスタジオの日付ピッカーに基づいて、次の計算を行うことはできますか?

開始日と月数を入力するだけで、計算に基づいて終了日を取得するアプリを作成したいと考えています。 Androidが異なる月間の異なる日数に基づいて正しい計算を行うことは可能でしょうか? Androidシステムが最新のカレンダーを考慮してカレンダーをスキャンできますか?

ありがとうございます。

+0

https://developer.android.com/reference/java/util/Calendar.htmlを確認してドキュメントをお読みになりましたか? 'add'メソッドはあなたが必要とするものを行うべきです。私はその点を見逃しています。あなたの問題をもっと詳しく説明してください。 –

+1

Stack Overflowには、すでによく似た質問と回答があります。投稿する前に検索することをお勧めします。たとえば、[Javaで現在の日付に1か月を追加するにはどうすればよいですか?](https://stackoverflow.com/questions/4905416/how-do-i-add-one-month-to-current-date-in-java )、 –

答えて

0

はい、できます。

  1. Calendar.YEAR
  2. Calendar.MONTH
  3. Calendar.DAY_OF_MONTH

The DAY_OF_MONTH変数変更されません、そして、あなただけに持っている:あなたは、カレンダーを使用している場合は、3変数を持っています次のような入力に何ヶ月か入力してください:

終了日を取得する年:

(Calendar.MONTH + input_months) % 12

注:これにより、最終日を知るためにCalendar.YEARに追加する必要がある年数が表示されます。

終了日の月

int end_date_month = Calendar.MONTH + input_months; 
do{ 
    month -= 12; 
} while (month > 12); 

注取得するには:DOの終わりに、あなたは終了日の月になりますと、設定が完了している間に。

月が1月の場合は0が返され、12月(11)まではそうであることに注意してください。

+1

FYIでは、 'java.util.Date'、' java.util.Calendar'、 'java.text.SimpleTextFormat'のような厄介な古い日時クラスは現在[legacy](https://en.wikipedia .org/wiki/Legacy_system)を、[java.time](https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html)クラスに置き換えました。 java.timeの機能の多くは、[ThreeTen-Backport](http://www.threeten.org/threetenbp/)プロジェクトのJava 6とJava 7にバックポートされています。さらに、[ThreeTenABP](https://github.com/JakeWharton/ThreeTenABP)プロジェクトでAndroidに対応しました。 –

関連する問題