Java YearMonth atDay()方法
Java中YearMonth类的atDay()方法将当前的年月与作为参数传递给它的月日结合起来,创建一个LocalDate。
语法:
public LocalDate atDay(int dayOfMonth)
参数 :该方法接受一个参数 dayOfMonth。 它是要使用的月份的日期。它可以取1到31的值。
返回值 :它返回一个由当前年月和作为参数传递给该函数的月日组成的本地日期。
异常 :如果参数中传递的月日无效,该方法会抛出一个 DateTimeException 。
以下程序说明了Java中YearMonth的atDay()方法。
程序1 :
// Program to illustrate the atDay() method
import java.util.*;
import java.time.*;
public class GfG {
public static void main(String[] args)
{
// Creates a YearMonth object
YearMonth thisYearMonth = YearMonth.of(2017, 8);
// Creates a local date with this
// YearMonth object and day passed to it
LocalDate date = thisYearMonth.atDay(31);
System.out.println(date);
}
}
输出
2017-08-31
程序2 :说明异常情况。下面的程序抛出一个异常,因为九月是30天,而不是31天。
// Program to illustrate the atDay() method
import java.util.*;
import java.time.*;
public class GfG {
public static void main(String[] args)
{
// Creates a YearMonth object
YearMonth thisYearMonth = YearMonth.of(2017, 9);
try {
// Creates a local date with this
// YearMonth object and day passed to it
LocalDate date = thisYearMonth.atDay(31);
System.out.println(date);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出
java.time.DateTimeException: Invalid date 'SEPTEMBER 31'
参考资料 : https://docs.oracle.com/javase/8/docs/api/java/time/YearMonth.html#atDay-int-