/** * 获取指定日期 未来 past天的日期 * @param data 指定日期 data是指定日期 例如20170608 * @param past 几天后日期 例如 7 * @return 日期 20170615 */ public static String getFetureDate(String data, int past) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // 将字符串的日期转为Date类型,ParsePosition(0)表示从第一个字符开始解析 Date date = sdf.parse(data, new ParsePosition(0)); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past); Date today = calendar.getTime(); String result = sdf.format(today); 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("yyyyMMdd"); String result = format.format(today); return result; } 如果需要获取 当前日期的前几天 只需要将 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past); 更改为 calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
java获取指定日期的前后日期
最新推荐文章于 2023-03-01 14:31:07 发布