Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
//获得入参的日期Calendar cd = Calendar.getInstance();cd.setTime(date);// 获得入参日期是一周的第几天int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);// 获得入参日期相对于下周一的偏移量(在国外,星期一是一周的第二天,所以下周一是这周的第九天)// 若入参日期是周日,它的下周一偏移量是1int nextMondayOffset = dayOfWeek == 1 ? 1 : 9 - dayOfWeek;// 设置不同的日期只要使用不同的偏移量即可// 周二: val nextWednesdayOffset = if (dayOfWeek < 3) 3-dayOfWeek else 10 - dayOfWeek// 周三: val nextWednesdayOffset = if (dayOfWeek < 4) 4-dayOfWeek else 11 - dayOfWeek// 周四: val nextWednesdayOffset = if (dayOfWeek < 5) 5-dayOfWeek else 12 - dayOfWeek// 周五: val nextWednesdayOffset = if (dayOfWeek < 6) 6-dayOfWeek else 13 - dayOfWeek// 周六: val nextWednesdayOffset = if (dayOfWeek < 7) 7-dayOfWeek else 14 - dayOfWeek// 周日: val nextWednesdayOffset = if (dayOfWeek == 1) 0 else 8 - dayOfWeek// 增加到入参日期的下一个周几那天cd.add(Calendar.DAY_OF_MONTH, nextMondayOffset);return cd.getTime();
因为CSDN需要登录复制代码框,我把核心代码放在这里:
// 设置不同的日期只要使用不同的偏移量即可
// 周二: val nextWednesdayOffset = if (dayOfWeek < 3) 3-dayOfWeek else 10 - dayOfWeek
// 周三: val nextWednesdayOffset = if (dayOfWeek < 4) 4-dayOfWeek else 11 - dayOfWeek
// 周四: val nextWednesdayOffset = if (dayOfWeek < 5) 5-dayOfWeek else 12 - dayOfWeek
// 周五: val nextWednesdayOffset = if (dayOfWeek < 6) 6-dayOfWeek else 13 - dayOfWeek
// 周六: val nextWednesdayOffset = if (dayOfWeek < 7) 7-dayOfWeek else 14 - dayOfWeek
// 周日: val nextWednesdayOffset = if (dayOfWeek == 1) 0 else 8 - dayOfWeek
另外,还可以设置 时分秒,增加以下代码即可
// 设置 03:00:00cd.set(Calendar.HOUR_OF_DAY,3)cd.set(Calendar.MINUTE, 0)cd.set(Calendar.SECOND, 0)cd.set(Calendar.MILLISECOND, 0)
如果觉得《Java 获取当前时间之后的第一个周几 java获取当前日期的下一个周几》对你有帮助,请点赞、收藏,并留下你的观点哦!