サーチ…


備考

Java 8以降、 Calendarおよびそのサブクラスは、 java.timeパッケージおよびそのサブパッケージによって置き換えられました。従来のAPIにカレンダーが必要な場合を除き、それらを優先する必要があります。

カレンダーオブジェクトの作成

Calendarオブジェクトは、 getInstance()を使用getInstance()か、 GregorianCalendarコンストラクターを使用して作成できます。

これは、内ヶ月ということに気づくことが重要ですCalendar 1月が表されていることを意味し、ゼロをベースとしているint使用は常に、より良いコードを提供するために値0 Calendarのような定数、 Calendar.JANUARY誤解を避けるために。

Calendar calendar = Calendar.getInstance();
Calendar gregorianCalendar = new GregorianCalendar();
Calendar gregorianCalendarAtSpecificDay = new GregorianCalendar(2016, Calendar.JANUARY, 1);
Calendar gregorianCalendarAtSpecificDayAndTime = new GregorianCalendar(2016, Calendar.JANUARY, 1, 6, 55, 10);

:常に月の定数を使用してください 。数値の表現は誤解を招く可能性があります0たとえば、 Calendar.JANUARYの値は0

カレンダーフィールドの増減

add()およびroll()を使用してCalendarフィールドを増減できます。

Calendar calendar = new GregorianCalendar(2016, Calendar.MARCH, 31); // 31 March 2016

add()メソッドはすべてのフィールドに影響を与え、カレンダーに実際の日付を追加または減算する場合に効果的です

calendar.add(Calendar.MONTH, -6);

上記の操作によりカレンダーから6か月間が削除され、2015年9月30日に戻ります。

他のフィールドに影響を与えずに特定のフィールドを変更するには、 roll()使用します。

calendar.roll(Calendar.MONTH, -6);

上記の動作は、現在のから6ヶ月を削除し、その月は9月として識別されます。他のフィールドは調整されていません。この操作で年は変わりません。

AM / PMの検索

カレンダークラスを使用すると、AMまたはPMを簡単に見つけることができます。

  Calendar cal = Calendar.getInstance();
  cal.setTime(new Date());
  if (cal.get(Calendar.AM_PM) == Calendar.PM)
      System.out.println("It is PM");

カレンダーの減算

2つのCalendarの違いを取得するには、 getTimeInMillis()メソッドを使用します。

Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c2.set(Calendar.DATE, c2.get(Calendar.DATE) + 1);

System.out.println(c2.getTimeInMillis() - c1.getTimeInMillis()); //outputs 86400000 (24 * 60 * 60 * 1000)


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow