Javaで2つの時間(Date)の差分秒を取得する方法

java

2つの日付間で何秒開きがあるか、差分秒を算出する方法です。
差分分を算出する方法は過去にコチラで紹介しています。今回は秒を算出します。

[スポンサーリンク]

差分秒を取得するプログラム

    public static void main( String[] args ) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        Date dateTo = null;
        Date dateFrom = null;
     
        // 日付を作成します。
        try {
            dateFrom = sdf.parse("2013/08/01 13:00:00");
            dateTo = sdf.parse("2013/08/01 13:00:30");
        } catch (ParseException e) {
            e.printStackTrace();
        }
     
        // 日付をlong値に変換します。
        long dateTimeTo = dateTo.getTime();
        long dateTimeFrom = dateFrom.getTime();
     
        // 差分の秒を算出します。
        long dayDiff = ( dateTimeTo - dateTimeFrom  ) / (1000 );
     
        System.out.println( "日数(FROM) : " + sdf.format(dateFrom) );
        System.out.println( "日数(TO) : " + sdf.format(dateTo) );
        System.out.println( "差分秒 : " + dayDiff );
    }

実行結果

>実行結果
日数(FROM) : 2013/08/01 13:00:00
日数(TO) : 2013/08/01 13:00:30
差分秒 : 30

解説

開始日付(FROM)と終了日付(TO)の差分秒を算出しているプログラムです。

dateクラスのgetTime()で、ミリ秒が取得できるので、
今回は秒を取得するので、ミリ秒取得後、1000で割る必要があります。