EN
Java - get number of days in month
2 points
Quick solution:
xxxxxxxxxx
1
import org.junit.Test;
2
import java.time.YearMonth;
3
import static org.assertj.core.api.Assertions.assertThat;
4
5
public class MonthUtil {
6
7
public static int getMaxDaysInMonth(int year, int month) {
8
YearMonth yearMonthObject = YearMonth.of(year, month);
9
return yearMonthObject.lengthOfMonth();
10
}
11
12
13
public void test() {
14
{
15
int year = 2021;
16
int month = 7;
17
int maxDaysInMonth = getMaxDaysInMonth(year, month);
18
System.out.println(maxDaysInMonth); // 31
19
}
20
21
assertThat(getMaxDaysInMonth(2021, 1)).isEqualTo(31);
22
assertThat(getMaxDaysInMonth(2021, 2)).isEqualTo(28);
23
assertThat(getMaxDaysInMonth(2021, 3)).isEqualTo(31);
24
assertThat(getMaxDaysInMonth(2021, 4)).isEqualTo(30);
25
assertThat(getMaxDaysInMonth(2021, 5)).isEqualTo(31);
26
assertThat(getMaxDaysInMonth(2021, 6)).isEqualTo(30);
27
assertThat(getMaxDaysInMonth(2021, 7)).isEqualTo(31);
28
assertThat(getMaxDaysInMonth(2021, 8)).isEqualTo(31);
29
assertThat(getMaxDaysInMonth(2021, 9)).isEqualTo(30);
30
assertThat(getMaxDaysInMonth(2021, 10)).isEqualTo(31);
31
assertThat(getMaxDaysInMonth(2021, 11)).isEqualTo(30);
32
assertThat(getMaxDaysInMonth(2021, 12)).isEqualTo(31);
33
}
34
}
Lib for assertions - Assertions:
xxxxxxxxxx
1
<!-- https://mvnrepository.com/artifact/org.assertj/assertj-core -->
2
<dependency>
3
<groupId>org.assertj</groupId>
4
<artifactId>assertj-core</artifactId>
5
<version>3.8.0</version>
6
<scope>test</scope>
7
</dependency>