獲取過去某一天的日期,然後可以利用for 循環,從高到低(或者從低到高,決定日期數組的順序),獲取過去任意天數內的日期,同理可以寫出未來任意天數的方法。
/**
* 獲取過去或者未來 任意天內的日期數組
* @param intervals intervals天內
* @return 日期數組
*/
public static ArrayList<String> test(int intervals ) {
ArrayList<String> pastDaysList = new ArrayList<>();
ArrayList<String> fetureDaysList = new ArrayList<>();
for (int i = 0; i <intervals; i++) {
pastDaysList.add(getPastDate(i));
fetureDaysList.add(getFetureDate(i));
}
return pastDaysList;
}
/**
* 獲取過去第幾天的日期
*
* @param past
* @return
*/
public static String getPastDate(int past) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String result = format.format(today);
Log.e(null, result);
return result;
}
/**
* 獲取未來 第 past 天的日期
* @param past
* @return
*/
public static String getFetureDate(int past) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String result = format.format(today);
Log.e(null, result);
return result;
}
方法有點low ,但是基本達到要求了。