获取某段时间内的周一(二等等)的日期
/** * 获取某段时间内的周一(二等等)的日期 * * @param dataBegin 开始日期 * @param dataEnd 结束日期 * @param weekDays 获取周几,1-6代表周一到周六。0代表周日 * @return 返回日期List */ public static List<String> getDayOfWeekWithinDateInterval(String dataBegin, String dataEnd, String weekDays) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); List<String> dateResult = new ArrayList<>(); Calendar cal = Calendar.getInstance(); String[] dateInterval = {dataBegin, dataEnd}; Date[] dates = new Date[dateInterval.length]; for (int i = 0; i < dateInterval.length; i++) { String[] ymd = dateInterval[i].split("[^\\d]+"); cal.set(Integer.parseInt(ymd[0]), Integer.parseInt(ymd[1]) - 1, Integer.parseInt(ymd[2])); dates[i] = cal.getTime(); } String[] weekDaysStr = weekDays.split(","); for (Date date = dates[0]; date.compareTo(dates[1]) <= 0; ) { cal.setTime(date); for (int i = 0; i < weekDaysStr.length; i++) { if (cal.get(Calendar.DAY_OF_WEEK) - 1 == Integer.parseInt(weekDaysStr[i])) { String format = sdf.format(date); dateResult.add(format); } } cal.add(Calendar.DATE, 1); date = cal.getTime(); } return dateResult; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通