import org.omg.Messaging.SyncScopeHelper;
import java.text.Format;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Period;
import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* @author :Wrry
* @desc :
* @date 2021/7/9 14:44
*/
public class scjssj {
public static void scjssj(String date, int ts) throws ParseException {
LocalDate dateOfBirth = LocalDate.parse(date);
int days = 1;
// 2020 366天
// 循环 添加接下来一年的时间
for (int i = 1; i <= ts; ) {
Period of = Period.of(0, 0, days);
days++;
LocalDate DateTime = dateOfBirth.plus(of);
// 获取周
String dayOfWeekName = DateTime.getDayOfWeek().toString();
//System.out.println(dayOfWeekName);
// 默认0 当为休息日时 1
int temp = 0;
List<LocalDate> lists=new ArrayList<>();
// 记录 工作日
if (!(dayOfWeekName.equals("SATURDAY") || dayOfWeekName.equals("SUNDAY"))) {
i++;
lists.add(DateTime);
if (i == ts) {
System.out.println(DateTime);
ceshiteshuriz(DateTime,lists,ts);
}
}
}
}
public static void ceshiteshuriz(LocalDate dateTime, List<LocalDate> qcjq,int ts) {
// DateTime
List<String> list = Arrays.asList("2021-01-01", "2021-01-02", "2021-01-03",
"2021-02-12", "2021-02-13", "2021-02-14", "2021-02-15", "2021-02-16",
"2021-02-17", "2021-04-03", "2021-04-04", "2021-04-05", "2021-05-01",
"2021-05-02", "2021-05-03", "2021-05-04", "2021-05-05");
List<LocalDate> listrqgs = new ArrayList<>();
for (String lits : list){
//System.out.println("11111111111"+lits);
LocalDate endOfFeb = LocalDate.parse(lits);
//System.out.println(endOfFeb);
listrqgs.add(endOfFeb);
}
List<LocalDate> C = new ArrayList<LocalDate>();
C.addAll(qcjq);
C.removeAll(listrqgs);
int ys =ts-(ts- C.size());
System.out.println(ts+"ts的值");
System.out.println(C);
System.out.println(ys+"ys的值");
zuizhong(dateTime,ys);
}
public static void zuizhong(LocalDate dateTime , int ys){
int days = 1;
// 2020 366天
// 循环 添加接下来一年的时间
for (int i = 0; i < ys; ) {
Period of = Period.of(0, 0, days);
days++;
LocalDate DateTime = dateTime.plus(of);
// 获取周
String dayOfWeekName = DateTime.getDayOfWeek().toString();
//System.out.println(dayOfWeekName);
// 默认0 当为休息日时 1
int temp = 0;
List<LocalDate> lists=new ArrayList<>();
// 记录 工作日
if (!(dayOfWeekName.equals("SATURDAY") || dayOfWeekName.equals("SUNDAY"))) {
i++;
lists.add(DateTime);
if (i == ys) {
System.out.println("222222222222"+DateTime);
//ceshiteshuriz(DateTime,lists,ys);
}
}
}
}
public static void main(String[] args) throws ParseException {
scjssj("2021-01-01",60);
}
}
/* // 日期实体类
Holiday holiday = new Holiday();
holiday.setRepDate(Date.from(DateTime.atStartOfDay(ZoneOffset.ofHours(8)).toInstant()));
holiday.setRepYear(Year);
holiday.setRepMonth(Month);
holiday.setRepDay(day);
holiday.setRepWeek((int) (w / 2));
holiday.setDbStatus(temp);
holidays.add(holiday);*/
/* // 获取年份
int Year = DateTime.getYear();
// 获取月份
int Month = DateTime.getMonthValue();
// 获取日分
int day = DateTime.getDayOfMonth();*/
// 当前为第几周
//int w = 2;
// 设置初始时间
//LocalDate dateOfBirth = LocalDate.of(2021, 1, 1);
//ArrayList<Holiday> holidays = new ArrayList<>();
注:一会会有一个更新版本