在 Java 中递减日期
我想从当前时间获取前一天(24 小时)。
例如,如果当前时间是Date currentTime = new Date();
2011-04-25 12:15:31:562 GMT
如何确定时间,即
2011-04-24 12:15:31:562 GMT
我想从当前时间获取前一天(24 小时)。
例如,如果当前时间是Date currentTime = new Date();
2011-04-25 12:15:31:562 GMT
如何确定时间,即
2011-04-24 12:15:31:562 GMT
你可以使用日历类来做到这一点:
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
我建议你使用Joda Time开始,这是一个更好的API。然后,您可以使用:
DateTime yesterday = new DateTime().minusDays(1);
请注意,“昨天这个时候”并不总是24小时前...您需要考虑时区等。您可能希望使用 或 代替 。LocalDateTime
Instant
DateTime