提取SimpleDateFormat

Kir*_*ril -1 java datetime date

我通过SimpleDateFormat得到当前时间,我希望返回6小时30分钟前的新时间.我尝试用Calendar做它,但是如果它们小于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);

    }

}
Run Code Online (Sandbox Code Playgroud)

Jig*_*shi 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());
Run Code Online (Sandbox Code Playgroud)