java总会遇到获取之前时间和之后时间的需求,封装一个类,方便复用。
package com.yzkj.zf.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
public class GetPastAndFetureDate {
private static String CONVERT_DATE_FORMAT = "yyyy-MM-dd";
private static String CONVERT_DATE_FORMAT_COMPLETE = "yyyy-MM-dd HH:mm:ss";
public static ArrayList<String> GetPastDaysList(int intervals ) {
ArrayList<String> pastDaysList = new ArrayList<>();
ArrayList<String> FutureDaysList = new ArrayList<>();
for (int i = 0; i <intervals; i++) {
pastDaysList.add(getPastDate(i));
FutureDaysList.add(getFutureDate(i));
}
return pastDaysList;
}
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(CONVERT_DATE_FORMAT);
String result = format.format(today);
return result;
}
public static String getFutureDate(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(CONVERT_DATE_FORMAT);
String result = format.format(today);
return result;
}
public static String getDateBefore(String date,int day) {
Date d = null;
try {
d = new SimpleDateFormat(CONVERT_DATE_FORMAT).parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)-day);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT);
String result = format.format(today);
return result;
}
public static String getAfterBefore(String date,int day) {
Date d = null;
try {
d = new SimpleDateFormat(CONVERT_DATE_FORMAT).parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.set(Calendar.DATE,calendar.get(Calendar.DATE)+day);
Date today = calendar.getTime();
SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT);
String result = format.format(today);
return result;
}
}