如何使用日历 API 将时间提前 2 小时?

How to get time 2 hours earlier using Calendar API?

我需要获取我的开始日期和时间,因为今天的日期和时间应该是 00:00,但结束时间应该是当前时间 - 2。在我下面的代码中,我无法理解如何获取结束时间为当前小时 - 2.

DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm");
Calendar startDate = new GregorianCalendar();
startDate.set(Calendar.MINUTE, 0);
Calendar endDate = (Calendar) startDate.clone();
startDate.set(Calendar.HOUR_OF_DAY, 0);

String startTime = df.format(startDate.getTime());
String endTime = df.format(endDate.getTime());

System.out.println(startTime);
System.out.println(endTime);    

如果我刚才运行上面的代码,打印出来的是这样的:

2015/08/17 00:00
2015/08/17 12:00

但我希望结束时间为 10:00,比中午时间早 2 小时,因此它应该打印:

2015/08/17 00:00
2015/08/17 10:00

我该怎么做?

更新:-

这是我试过的:

    Calendar startDate = new GregorianCalendar();
    startDate.set(Calendar.MINUTE, 0);
    Calendar endDate = new GregorianCalendar();
    endDate.add(Calendar.HOUR, -2);

    String startTime = df.format(startDate.getTime());
    String endTime = df.format(endDate.getTime());

    System.out.println(startTime);
    System.out.println(endTime);

这是打印出来的内容:

2015/08/17 12:00
2015/08/17 10:53

您可以使用 Calendaradd(int field, int amount) 方法添加负数的小时数。像这样:

Calendar date = new GregorianCalendar();
date.add(Calendar.HOUR, -2);

Link to the documentation