Получить дату начала и дату окончания выбранного месяца из поля со списком, используя текущий год в Java 7 - PullRequest
0 голосов
/ 10 октября 2019

Я хочу получить дату начала и дату окончания месяца, когда месяц выбирается из поля со списком. Поле со списком заполнено месяцами, такими как январь, февраль ..... когда я выбираю месяц в поле со списком, я хочу получить дату начала и окончания этого месяца с текущим годом. но здесь, в приведенном ниже коде, год указан в текстовом поле. но я хочу получить текущий год. не из текстового поля. Пожалуйста, помогите мне решить эту проблему. спасибо за продвижение

это код, который я пробовал

cal.set(Calendar.MONTH, cmbMonth.getSelectionModel().getSelectedIndex());
 int yearpart = Integer.parseInt(txtYear.getText());
 int monthPart = cmbMonth.getSelectionModel().getSelectedIndex();
 int dateDay = 1;
     cal.set(yearpart, monthPart, dateDay);
     int numOfDaysInMonth = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
     System.out.println("Number of Days: " + numOfDaysInMonth);
     System.out.println("First Day of month: " + cal.getTime());
     cal.add(Calendar.DAY_OF_MONTH, numOfDaysInMonth-1);
     System.out.println("Last Day of month: " + cal.getTime());

Когда я выбираю месяц февраль в поле со списком. Я хочу вывод, как это

  First Day of month: 2019-02-1
  Last Day of month: 2019-02-28

Теперь я получил такой вывод

First Day of month: Fri Feb 01 11:32:47 IST 2019
Last Day of month: Thur Feb 28 11:32:47 IST 2019

1 Ответ

1 голос
/ 10 октября 2019

Вы можете использовать YearMonth:

int year = LocalDate.now().getYear();
String month = "January";
YearMonth yearMonth = YearMonth.of(year, Month.valueOf(month.toUpperCase()));

System.out.println(LocalDate.of(yearMonth.getYear(), yearMonth.getMonth(), 1));
System.out.println(yearMonth.atEndOfMonth());
...