我想从当前时间获得前一天(24小时)。在Java中减少日期
例如,如果当前时间是Date currentTime = new Date();
2011-04-25 12:15:31:562 GMT
如何确定时间,即
2011-04- 24 12:15:31:562 GMT
我想从当前时间获得前一天(24小时)。在Java中减少日期
例如,如果当前时间是Date currentTime = new Date();
2011-04-25 12:15:31:562 GMT
如何确定时间,即
2011-04- 24 12:15:31:562 GMT
你可以做,使用Calendar class:
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
。
24小时和1全天不一样的东西。但是,你都使用日历:
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE, -1);
Date d = c.getTime();
如果要追溯至24小时,你会用Calendar.HOUR_OF_DAY
请结帐此这里:乔达 Java Date vs Calendar
Calendar cal=Calendar.getInstance();
cal.setTime(date); //not sure if date.getTime() is needed here
cal.add(Calendar.DAY_OF_MONTH, -1);
Date newDate = cal.getTime();
快速下载链接 - 外部JAR库:[URL](https://github.com/JodaOrg/joda-time/releases) – 2017-11-13 23:35:06