package com.jzlife;
import java.time.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import com.jzlife.report.util.DateUtil;
import com.jzlife.report.util.JsonUtil;
/**
* @author lurz
*/
public class WeekUtil {
public static Date getFirstDayOfWeek(Date date) {
Calendar cal = Calendar.getInstance();
try {
cal.setTime(date);
cal.set(Calendar.DAY_OF_WEEK, 2);
} catch (Exception e) {
e.printStackTrace();
}
return cal.getTime();
}
public static Date getLastDayOfWeek(Date date) {
Calendar cal = Calendar.getInstance();
try {
cal.setTime(date);
cal.set(Calendar.DAY_OF_WEEK, 2);
cal.set(Calendar.DATE, cal.get(Calendar.DATE) + 6);
} catch (Exception e) {
e.printStackTrace();
}
return cal.getTime();
}
public static void main(String[] args) {
// Date firstDayOfWeek = getFirstDayOfWeek(new Date());
// Date lastDayOfWeek = getLastDayOfWeek(new Date());
//
// System.out.println(getFirstDayOfWeek(new Date()));
// System.out.println(getLastDayOfWeek(new Date()));
// System.out.println(DateUtil.addDay(firstDayOfWeek, -7));
// System.out.println("当前季度为"+quarter+"季度");
// System.out.println((c.get(c.MONTH)+1)+"--"+c.get(c.DATE));
List<Map<String, Object>> ls=new ArrayList<Map<String,Object>>();
Date d = new Date();
for (int i = 0; i < 5; i++) {
Date firstDayOfWeek = getFirstDayOfWeek(d);
Date lastDayOfWeek = getLastDayOfWeek(d);
String monthWeek = getMonthWeek(DateUtil.addDay(d, 1));
d=DateUtil.addDay(d, -7);
List<String> list = new ArrayList<String>();
list.add(DateUtil.dateToString(firstDayOfWeek));
list.add(DateUtil.dateToString(lastDayOfWeek));
Map<String, Object> m=new HashMap<String, Object>();
m.put(monthWeek, list);
ls.add(m);
}
System.out.println(JsonUtil.getJson(ls));
}
private static String getMonthWeek(Date dd) {
Calendar c = Calendar.getInstance();
c.setTime(dd);
// Calendar c = Calendar.getInstance();
// c.add(Calendar.DATE,18); //增加一天
int month = c.get(c.WEEK_OF_MONTH);
int week = c.get(c.WEEK_OF_YEAR);
String quarter = "";
int m = c.get(c.MONTH);
if (m >= 1 && m == 3) {
quarter = "1";
} else if (m >= 4 && m <= 6) {
quarter = "2";
} else if (m >= 7 && m <= 9) {
quarter = "3";
} else {
quarter = "4";
}
// System.out.println("今天是今年的第" + week + "周;");
// System.out.println((c.get(c.MONTH)+1)+"月第" + month + "周;");
return (c.get(c.MONTH) + 1) + "月第" + month + "周;";
}
}
[{"10月第3周;":["2022-10-10","2022-10-16"]},{"10月第2周;":["2022-10-03","2022-10-09"]},{"10月第1周;":["2022-09-26","2022-10-02"]},{"9月第4周;":["2022-09-19","2022-09-25"]},{"9月第3周;":["2022-09-12","2022-09-18"]}]