今日の日はOct 24, 2011
です。Android Javaを使用して月に間違った日を取得するのはなぜですか?
が、このコード
Calendar currentDate = Calendar.getInstance();
int d = currentDate.DAY_OF_MONTH;
を使用しては私に日付5
P.S.を与えますエミュレータの設定で、日付がOctober 24, 2011
今日の日はOct 24, 2011
です。Android Javaを使用して月に間違った日を取得するのはなぜですか?
が、このコード
Calendar currentDate = Calendar.getInstance();
int d = currentDate.DAY_OF_MONTH;
を使用しては私に日付5
P.S.を与えますエミュレータの設定で、日付がOctober 24, 2011
currentDate.DAY_OF_MONTH;
は、Calendarクラスに内部的に使用される定数です。月の使用の現在の日付を取得するために
使用
currentDate.get(Calendar.DAY_OF_MONTH);
更新:
6日現在の日付をシフトし、新しい一日と月の値を取得するにはどのように? // 6日追加 currentDate.add(Calendar.DATE、6);
//retrieving the month now, note month starts from 0-Jan, 1-Feb
currentDate.get(Calendar.MONTH);
それです。ありがとう、私はあなたの質問をすぐに受け入れる、別の質問どのように現在の日付を6日シフトし、新しい日と月の値を取得する? – Adham
更新を確認してください。 –
DAY_OF_MONTH
フィールドは整数定数です。代わりの方法get
を使用します。
currentDate.get(Calendar.DAY_OF_MONTH);
あなたが使用して6日間、たとえば追加することができます。
currentDate.add(Calendar.DAY_OF_MONTH, 6);
もthis pageを参照してください。
ZonedDateTime
これを行うには近代的な方法は、java.timeクラスです。
ZonedDateTime
は、ナノ秒の分解能でタイムライン上の瞬間を表します。 java.timeについて
ZoneId z = ZoneId.of("America/Montreal");
ZonedDateTime zdt = ZonedDateTime.now(z);
int dayOfMonth = zdt.getDayOfMonth();
java.timeフレームワークは、Java 8に組み込まれており、後にされています。これらのクラスは、java.util.Date
、.Calendar
、& java.text.SimpleDateFormat
などの面倒な古い日時クラスに取って代わります。
にあるJoda-Timeプロジェクトは、java.timeへの移行を推奨しています。
詳しくはOracle Tutorialをご覧ください。そして、多くの例と説明のためにStack Overflowを検索してください。
java.time機能ThreeTen-BackportでJava 6 & 7に戻って、移植、さらにThreeTenABPでAndroidに適合されているの多く(How to use…を参照)。
ThreeTen-Extraプロジェクトは、追加のクラスでjava.timeを拡張します。このプロジェクトは、将来のjava.timeへの追加の可能性を証明する土台です。ここでは、Interval
、YearWeek
、YearQuarter
などの便利なクラスがあります。
あなたはいつも5を持っています:) public final static int DAY_OF_MONTH = 5; – anfy2002us