Java 获取当前时间前后n天的日期集合

时间:2025-03-10 08:11:22

import ;
import ;
import ;
import ;
import ;

public class DateUtil {

    /***
     *  查询前后n天日期
     *
     * @param args
     */
    public static void main(String[] args) {
        int intervals=7;
        List passDaysList = new ArrayList<>();
        List futureDaysList = new ArrayList<>();
        for (int i = 0; i <intervals; i++) {
            (getDays(i,false));
            (getDays(i,true));
        }
        ("过去日期: "+passDaysList) ;
        ("==============================================================================================");
        ("未来日期: "+futureDaysList) ;
    }

    /**
     *
     * @param i 第几天
     * @param b true:查询未来日期,  false:查询过去日期
     * @return
     */
    private static String getDays(int i, boolean b) {
        Calendar calendar = ();
        if (b) {
            (Calendar.DAY_OF_YEAR, (Calendar.DAY_OF_YEAR) + i);
        }else {
            (Calendar.DAY_OF_YEAR, (Calendar.DAY_OF_YEAR) - i);
        }
        Date today = ();
        /**不带星期*/
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        /**带星期*/
        // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd (EEEE)");
        String result = (today);
        return result;
    }
}

过去日期: [2022-05-07, 2022-05-06, 2022-05-05, 2022-05-04, 2022-05-03, 2022-05-02, 2022-05-01]
==============================================================================================
未来日期: [2022-05-07, 2022-05-08, 2022-05-09, 2022-05-10, 2022-05-11, 2022-05-12, 2022-05-13]