Java Language
カレンダーとそのサブクラス
サーチ…
備考
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