-1

SimpleDateFormat で現在の時刻を取得し、6 時間 30 分前の新しい時刻を返したいと考えています。私はカレンダーでそれをやろうとしましたが、分が30未満の場合は負の値を返しています。私の質問は、時間または日から借りる必要があるときに正の数を返すためにこれを行うことができるかどうかです. これがコードです。私はEclipseを使用しており、プログラムはコンパイルおよび実行されています。

import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;


public class DifferenceInHours_04 
{

    public static void main(String[] args) 
    {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy hh:mm:ss zzz" );
        System.out.println(sdf.format(date));

        Calendar cal = Calendar.getInstance();
        int hour = cal.get(Calendar.HOUR);
        int minute = cal.get(Calendar.MINUTE );
        int second = cal.get(Calendar.SECOND);
        System.out.println("Current time: "  + hour + ":" + minute +":" + second);

        int newHour = hour - 6;
        int newMinute = minute - 30;
        System.out.println("Modified time: " + newHour + ":" + newMinute + ":"+  second);

    }

}
4

1 に答える 1

6

シンプルに

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.HOUR, -6);
    cal.add(Calendar.MINUTE,-30 );
    System.out.println("Time before 6 hour and 30 min from now is : "+ cal.getTime());
于 2012-06-18T08:11:10.210 に答える