Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.text.ParseException;
- import java.time.LocalDate;
- import java.time.format.DateTimeFormatter;
- import java.time.temporal.WeekFields;
- import java.util.ArrayList;
- import java.util.Scanner;
- import java.util.*;
- import static java.time.temporal.ChronoUnit.WEEKS;
- public class MonthWeek {
- public static void main(String[] args) throws ParseException {
- String date1 = "20190825";
- String date2 = "20200122";
- List<String> numberWeeks = new ArrayList<>();
- DateTimeFormatter dtF = DateTimeFormatter.ofPattern("yyyyMMdd");
- LocalDate startDate = LocalDate.parse(date1, dtF);
- LocalDate endDate = LocalDate.parse(date2, dtF);
- int addWeek = 0;
- if (startDate.get(WeekFields.ISO.weekOfYear()) < endDate.get(WeekFields.ISO.weekOfYear())) {
- addWeek = 1;
- }
- long weeks = WEEKS.between(startDate, endDate) + addWeek;
- if (weeks >= 0) {
- int week = 0;
- String month = "";
- do {
- //Get the number of week
- LocalDate dt = startDate.plusWeeks(week);
- int weekNumber = dt.get(WeekFields.ISO.weekOfYear());
- if(!dt.getMonth().name().contentEquals(month)) {
- month = dt.getMonth().name();
- numberWeeks.add(month);
- }
- numberWeeks.add(" " + weekNumber);
- week++;
- } while (week <= weeks);
- }
- System.out.println(numberWeeks);
- Scanner scanner = new Scanner(System.in);
- System.out.println("Press Enter to exit");
- scanner.nextLine();
- scanner.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement