我想從當前時間獲得前一天(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