如何使用日历 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
您可以使用 Calendar
的 add(int field, int amount)
方法添加负数的小时数。像这样:
Calendar date = new GregorianCalendar();
date.add(Calendar.HOUR, -2);
我需要获取我的开始日期和时间,因为今天的日期和时间应该是 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
您可以使用 Calendar
的 add(int field, int amount)
方法添加负数的小时数。像这样:
Calendar date = new GregorianCalendar();
date.add(Calendar.HOUR, -2);