このページには、以下のサンプルを掲載しています。
下の項目をクリックをすると各サンプルにジャンプします。
※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
[ サンプルプログラムのソースコード - DateSample01.java - ]
- package sample.caldate;
- import java.util.Calendar;
- public class DateSample01 {
- public static void main(String[] args) {
-
- Calendar cal = Calendar.getInstance();
- cal.set(2009, Calendar.APRIL, 25, 6, 44, 0);
- int day = 100;
- System.out.print( String.format(
- "%1$tY年 %1$tB %1$te日 %1$ta曜日の%2$d日後は、",cal,day));
- cal.add(Calendar.DAY_OF_YEAR, day);
- System.out.println( String.format(
- "%1$tY年 %1$tB %1$te日 %1$ta曜日です。", cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
2009年 4月 25日 土曜日の100日後は、2009年 8月 3日 月曜日です。
[ サンプルプログラムの解説 ]
日にちの加算を行うには、Calendarクラスのaddメソッドを使います。
第一引数で、加算を行うフィールドを指定します。上記サンプルでは、
1年の内の何日目かを現すフィールド「DAY_OF_YEAR」を指定しています。
第二引数には、加算を行う日数を指定しています。
2. ある日付のN日前
[ サンプルプログラムのソースコード - DateSample02.java - ]
- package sample.caldate;
- import java.util.Calendar;
- public class DateSample02 {
- public static void main(String[] args) {
-
- Calendar cal = Calendar.getInstance();
- cal.set(2009, Calendar.APRIL, 25, 6, 44, 0);
- int day = 100;
- System.out.print( String.format(
- "%1$tY年 %1$tB %1$te日 %1$ta曜日の%2$d日前は、",cal,day));
- cal.add(Calendar.DAY_OF_YEAR, -day);
- System.out.println( String.format(
- "%1$tY年 %1$tB %1$te日 %1$ta曜日です。", cal));
- }
- }
|
[ サンプルプログラムの実行結果 ]
2009年 4月 25日 土曜日の100日前は、2009年 1月 15日 木曜日です。
[ サンプルプログラムの解説 ]
サンプル「ある日付のN日後」とほとんど同じですが、addメソッドの第二引数でマイナスの数値
を与えるとN日前の計算ができます。
3. ある日付からある日付の間の日数
[ サンプルプログラムのソースコード - DateSample03.java - ]
- package sample.caldate;
- import java.util.Calendar;
- public class DateSample03 {
- public static void main(String[] args) {
-
- Calendar cal1 = Calendar.getInstance();
- Calendar cal2 = Calendar.getInstance();
- cal1.set(2009, Calendar.MAY, 22, 0, 0, 0);
- cal2.set(2005, Calendar.FEBRUARY, 25, 0, 0, 0);
- long day = ( cal1.getTimeInMillis() -
- cal2.getTimeInMillis() ) / (24 * 60 * 60 * 1000 );
- System.out.print( String.format("%1$tY年 %1$tB %1$te日 %1$ta曜日と",cal1));
- System.out.print( String.format("%1$tY年 %1$tB %1$te日 %1$ta曜日の間には",cal2));
- System.out.print( String.format("%1$d日の日数があります。",day));
- }
- }
|
[ サンプルプログラムの実行結果 ]
2009年 5月 22日 金曜日と2005年 2月 25日 金曜日の間には1547日の日数があります。
[ サンプルプログラムの解説 ]
ある日付とある日付の間の日数を計算するには、Calendarクラスで設定した日付をミリ秒値に変換します。
ミリ秒値に変換した2つの日付で引き算を行った後、1日のミリ秒値で割ってあげると2つの日付の間の日数が算出されます。