在 Java 中递减日期

2022-09-05 00:00:55

我想从当前时间获取前一天(24 小时)。

例如,如果当前时间是Date currentTime = new Date();

2011-04-25 12:15:31:562 GMT

如何确定时间,即

2011-04-24 12:15:31:562 GMT


答案 1

你可以使用日历类来做到这一点:

Calendar cal = Calendar.getInstance();
cal.setTime ( date ); // convert your date to Calendar object
int daysToDecrement = -1;
cal.add(Calendar.DATE, daysToDecrement);
date = cal.getTime(); // again get back your date object

答案 2

我建议你使用Joda Time开始,这是一个更好的API。然后,您可以使用:

DateTime yesterday = new DateTime().minusDays(1);

请注意,“昨天这个时候”并不总是24小时前...您需要考虑时区等。您可能希望使用 或 代替 。LocalDateTimeInstantDateTime