java 已知一个Date,获取前一天和后一天

时间:2025-02-18 07:04:55
import ;
import ;
import ;
import ;

public class DateUtil {
    
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String specifiedDay = (date);
        (getSpecifiedDayBefore(specifiedDay));
        (getSpecifiedDayAfter(specifiedDay));
    }
    
    /**
     * 获得指定日期的前一天
     * 
     * @param specifiedDay
     * @return
     * @throws Exception
     */
    public static String getSpecifiedDayBefore(String specifiedDay) {//可以用new Date().toLocalString()传递参数
        Calendar c = ();
        Date date = null;
        try {
            date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
        } catch (ParseException e) {
            ();
        }
        (date);
        int day = ();
        (, day - 1);

        String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c
                .getTime());
        return dayBefore;
    }

    /**
     * 获得指定日期的后一天
     * 
     * @param specifiedDay
     * @return
     */
    public static String getSpecifiedDayAfter(String specifiedDay) {
        Calendar c = ();
        Date date = null;
        try {
            date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
        } catch (ParseException e) {
            ();
        }
        (date);
        int day = ();
        (, day + 1);

        String dayAfter = new SimpleDateFormat("yyyy-MM-dd")
                .format(());
        return dayAfter;
    }
}