使用Java 7中的当前年份从组合框获取选定月份的开始日期和结束日期

问题描述 投票:0回答:1

我想从组合框中选择一个月时获得一个月的开始日期和结束日期。组合框充满了月份,如一月,二月.....。当我在组合框中选择一个月份时,我想获取该年份的当年开始日期和结束日期。但是在下面的代码中,年份是在文本框中指定的。但我想得到今年。不是来自文本框。请帮我解决这个问题。感谢前进。

这是我尝试过的代码

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());

[当我在组合框中选择月份2月时。我想要这样的输出

  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
javafx java-7
1个回答
1
投票

您可以使用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());
© www.soinside.com 2019 - 2024. All rights reserved.