Warning: include_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 2

Warning: include_once(http://www.confrage.com/bin/header.php): failed to open stream: no suitable wrapper could be found in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 2

Warning: include_once(): Failed opening 'http://www.confrage.com/bin/header.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 2
日付の比較 | Java | 株式会社CONFRAGE
Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 17

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 17
日付の比較
日付の比較は書式がYYYY/MM/DDや、YYYYMMDDといったように、比較する書式が同じであれば文字列比較のcompareToで可能です。
compareToについてはString同士の大小比較を御覧下さい。

Calendarクラスで比較する場合、グレゴリオ暦からの経過ミリ秒で判断します。
以下、例です。

package jp.co.confrage;

import java.util.Calendar;

public class Test002 {

    public static void main(String[] args) {
        Calendar cal1 = Calendar.getInstance();
        Calendar cal2 = Calendar.getInstance();

        cal1.set(2011,0,1);
        cal2.set(2011,0,2);

        if(cal1.compareTo(cal2) == 0){
            System.out.println("同一日付です");
        }else{
            System.out.println("同一日付ではありません");
        }
    }
}
Calendarクラスのコンストラクタはprotectedされているため、newできません。上記のようにファクトリメソッドよりインスタンス生成します。

日付の計算
文字列型の日付計算を行うにはCalendarクラスとSimpleDataFormatクラスで計算可能です。

Calendar cal = Calendar.getInstance();
Calendarクラスのインスタンスを生成し、setメソッドを使用します。

Calendar cal = Calendar.getInstance();
cal.set(2011,0,1);
これで20110101をセットしたことになります。年月日の順でセットしますが、月だけ0~11になります。
ここから3日マイナス計算したい場合

Calendar cal = Calendar.getInstance();
cal.set(2011,0,1);
cal.add(Calendar.DATE,-3);
これでマイナス3日しています。あとはcalendar.getTime()で日付取得することができます。

以下、例です。

String ymd = "20110101";
Calendar cal = Calendar.getInstance();
cal.set(Integer.parseInt(ymd.substring(0,4)),
        Integer.parseInt(ymd.substring(4,6)) - 1,
        Integer.parseInt(ymd.substring(6,8)));
cal.add(Calendar.DATE,-3);

SimpleDataFormat sdf = new SimpleDataFormat("yyyyMMdd");
String date = sdf.format(calendar.getTime());
System.out.println(date);

Back to top

Information

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 121

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 121

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 130

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/date/compareto/compareto.html on line 130