📜  创建新的 LocalDate java (1)

📅  最后修改于: 2023-12-03 15:07:12.612000             🧑  作者: Mango

创建新的 LocalDate Java

LocalDate是Java 8中的一个类,它代表了日期,而没有时间和时区。以下是在Java中创建新的LocalDate对象的几种方法。

使用静态工厂方法 of

我们可以使用 LocalDate 类中的 of 方法创建新的 LocalDate 对象,它接收年、月和日作为参数。

LocalDate date = LocalDate.of(2021, 4, 1);

这将创建一个表示2021年4月1日的LocalDate对象。

使用当前日期和时区创建

我们可以使用系统默认的时区和当前日期来创建 LocalDate 对象。

LocalDate today = LocalDate.now();

此代码将返回当前日期的 LocalDate 对象。我们可以将 LocalDate.now() 传递到另一个方法中,该方法接受 LocalDate 类型的参数。

使用静态工厂方法 parse

我们可以使用 LocalDate 类中的 parse 方法将字符串转换为 LocalDate 对象。

LocalDate date = LocalDate.parse("2021-04-01");

此代码将创建一个表示2021年4月1日的LocalDate对象。我们还可以传递DateTimeFormatter作为第二个可选参数,来指定字符串的格式。

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate date = LocalDate.parse("01-04-2021", formatter);

此代码使用指定格式的字符串创建LocalDate对象。

使用其他日期对象创建

我们可以使用java.util.Date和java.sql.Date对象创建LocalDate对象。

Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

此代码将java.util.Date对象转换为LocalDate对象。我们使用Date.toInstant()方法获取当前日期的Instant对象,然后使用.atZone()将其转换为特定于时区的ZonedDateTime对象,最后使用.toLocalDate()获取本地日期。

java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
LocalDate localDate = sqlDate.toLocalDate();

此代码将java.sql.Date对象转换为LocalDate对象。我们直接使用.toLocalDate()将其转换为对应的LocalDate对象。

以上是在Java中创建新的LocalDate对象的几种方法。可以根据需要选择最适合您代码的方法。