java 获取当前天之后或之前7天(任意)日期
获取过去某一天的日期,然后可以利用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 ,但是基本达到要求了。