| | |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | //获取相差n天的日期(日期天数加N) |
| | | public static Date timeYesterdayN(Date date,int day){ |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | calendar.add(Calendar.DAY_OF_MONTH, day); |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | //获取年月日 |
| | | public static String timeYestMonthDay(Date date){ |
| | | Calendar calendar = Calendar.getInstance(); |
| | |
| | | } |
| | | |
| | | //获取现在日期是当月第几周 |
| | | public static int WeeklyNowMonthDay(Date date) { |
| | | // int day = timeDay(date); |
| | | // if (day<7){ |
| | | // if (WeeklyNowMonth(WeeklyMonday(date))>2){ |
| | | // return 1; |
| | | // } |
| | | // } |
| | | return WeeklyNowMonth(WeeklyMonday(date)); |
| | | } |
| | | public static int WeeklyNowMonth(Date date) { |
| | | // LocalDate currentDate = LocalDate.now(); |
| | | LocalDate currentDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date)); |
| | |
| | | return true; |
| | | } |
| | | |
| | | //判断是不是周一 如果日期不是周一,则将它调整到本周周一 |
| | | //获取本周周一 |
| | | public static Date WeeklyMonday (Date date) { |
| | | LocalDate localDate = LocalDate.of(timeYest(date), timeMonth(date), timeDay(date)); |
| | | // 判断是不是周一 则将它调整到下周周一 |
| | | if (WeeklyOneSign(date)) { |
| | | localDate = localDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); |
| | | } |
| | | // 下周周一 |
| | | localDate = localDate.with(TemporalAdjusters.next(DayOfWeek.MONDAY)); |
| | | |
| | | // 将LocalDate转换为Date |
| | | Date monday = DateLocalDate(localDate); |
| | | |
| | | // 则将它调整到本周周一 |
| | | Date nowMonday = timeFrontSevenYesterday(monday); |
| | | |
| | | |
| | | return nowMonday; |
| | | return timeFrontSevenYesterday(monday); |
| | | } |
| | | |
| | | //获取当前日期所在的周一及周日时间 |
| | |
| | | return WeeklySeven(afterSevenYesterday); |
| | | } |
| | | |
| | | //获取周一到周末 |
| | | public static List<Date> WeeklyDays(Date date){ |
| | | Date nowMonday = WeeklyMonday(date); |
| | | List<Date> dateList = new ArrayList<>(); |
| | | dateList.add(nowMonday); |
| | | for (int i = 1; i<7 ; i++){ |
| | | dateList.add(timeYesterdayN(nowMonday,i)); |
| | | } |
| | | return dateList; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | Date now = new Date(); |
| | | //本周 |
| | | List<Date> dateList = WeeklyMondayAndSundayNow(now); |
| | | for (Date date : dateList){ |
| | | System.out.println("------------------------------"); |
| | | System.out.println(date); |
| | | } |
| | | //上周 |
| | | List<Date> dateList1 = WeeklyMondayAndSundayFront(now); |
| | | for (Date date : dateList1){ |
| | | System.out.println("------------------------------"); |
| | | System.out.println(date); |
| | | } |
| | | //下周 |
| | | List<Date> dateList2 = WeeklyMondayAndSundayAfter(now); |
| | | for (Date date : dateList2){ |
| | | System.out.println("------------------------------"); |
| | | System.out.println(date); |
| | | } |
| | | int weeklyNowMonth = WeeklyNowMonthDay(now); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth + " 周"); |
| | | |
| | | LocalDate startDate1 = LocalDate.of(2024, 2, 29); |
| | | int weeklyNowMonth1 = WeeklyNowMonthDay(DateLocalDate(startDate1)); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth1 + " 周"); |
| | | |
| | | LocalDate startDate2 = LocalDate.of(2024, 3, 5); |
| | | int weeklyNowMonth2 = WeeklyNowMonthDay(DateLocalDate(startDate2)); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth2 + " 周"); |
| | | |
| | | LocalDate startDate3 = LocalDate.of(2024, 3, 10); |
| | | int weeklyNowMonth3 = WeeklyNowMonthDay(DateLocalDate(startDate3)); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth3 + " 周"); |
| | | |
| | | LocalDate startDate4 = LocalDate.of(2024, 3, 31); |
| | | int weeklyNowMonth4 = WeeklyNowMonthDay(DateLocalDate(startDate4)); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth4 + " 周"); |
| | | |
| | | LocalDate startDate5 = LocalDate.of(2024, 4, 1); |
| | | int weeklyNowMonth5 = WeeklyNowMonthDay(DateLocalDate(startDate5)); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth5 + " 周"); |
| | | |
| | | LocalDate startDate6 = LocalDate.of(2024, 4, 7); |
| | | int weeklyNowMonth6 = WeeklyNowMonthDay(DateLocalDate(startDate6)); |
| | | System.out.println("当前日期是第 " + weeklyNowMonth6 + " 周"); |
| | | } |
| | | |
| | | // public static void main(String[] args) { |
| | | //// Date now = new Date(); |
| | | // LocalDate startDate = LocalDate.of(2024, 3, 27); // 假设开始日期是2022年9月5日,周一 |
| | | // Date now = Date.from(startDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); |
| | | // System.out.println("当前日期 " + now); |
| | | // |
| | | // int weeklyNowMonth = WeeklyNowMonth(now); |
| | | // System.out.println("当前日期是当月第 " + weeklyNowMonth + " 周"); |
| | | // |
| | | // //获取当前周周一 |
| | | // Date nowMonday = WeeklyMonday(now); |
| | | // System.out.println("当前日期是当周周一:"+nowMonday); |
| | | // |
| | | // Date daySeven = timeFrontSevenYesterday(nowMonday); |
| | | // System.out.println("当前日期是上周周一 " + daySeven); |
| | | // |
| | | // System.out.println("--------------------------------------------"); |
| | | // |
| | | // WeeklySeven(nowMonday); |
| | | // System.out.println("--------------------------------------------"); |
| | | // |
| | | // WeeklySeven(daySeven); |
| | | // System.out.println("--------------------------------------------"); |
| | | // |
| | | // } |
| | | |
| | | // public static void main(String[] args) { |
| | | //// Date now = new Date(); |
| | | //// System.out.println("当前日期 " + now); |
| | | // |
| | | //// int weeklyNowMonth = WeeklyNowMonth(now); |
| | | //// System.out.println("当前日期是当月第 " + weeklyNowMonth + " 周"); |
| | | //// |
| | | //// Date date = timeYesterday(now); |
| | | //// System.out.println("当前日期前一天日期 " + date); |
| | | //// |
| | | //// weeklyNowMonth = WeeklyNowMonth(date); |
| | | //// System.out.println("当前日期前一天是当月第 " + weeklyNowMonth + " 周"); |
| | | //// |
| | | ////// System.out.println("--------------------------------------------"); |
| | | ////// WeeklySix(now); |
| | | ////// WeeklySix(date); |
| | | //// System.out.println("--------------------------------------------"); |
| | | //// |
| | | //// WeeklySeven(now); |
| | | //// WeeklySeven(date); |
| | | //// System.out.println("--------------------------------------------"); |
| | | //// |
| | | //// Date daySeven = timeFrontSevenYesterday(now); |
| | | //// System.out.println("当前日期前七天日期 " + daySeven); |
| | | //// |
| | | //// |
| | | //// System.out.println("--------------------------------------------"); |
| | | //// WeeklySeven(now); |
| | | //// WeeklySeven(daySeven); |
| | | //// System.out.println("--------------------------------------------"); |
| | | // |
| | | // Date now = new Date(); |
| | | // //本周 |
| | | // List<Date> dateList = WeeklyMondayAndSundayNow(now); |
| | | // for (Date date : dateList){ |
| | | // System.out.println("------------------------------"); |
| | | // System.out.println(date); |
| | | // } |
| | | // //上周 |
| | | // List<Date> dateList1 = WeeklyMondayAndSundayFront(now); |
| | | // for (Date date : dateList1){ |
| | | // System.out.println("------------------------------"); |
| | | // System.out.println(date); |
| | | // } |
| | | // //下周 |
| | | // List<Date> dateList2 = WeeklyMondayAndSundayAfter(now); |
| | | // for (Date date : dateList2){ |
| | | // System.out.println("------------------------------"); |
| | | // System.out.println(date); |
| | | // } |
| | | // //周 |
| | | // List<Date> dateList3 = WeeklyDays(now); |
| | | // for (Date date : dateList3){ |
| | | // System.out.println("------------------------------"); |
| | | // System.out.println(date); |
| | | // } |
| | | // } |
| | | |
| | | } |