在Java中创建带值的LocalDate

2023/06/09

1. 概述

随着Java8 的出现,在Java中创建日期被重新定义。此外,相对于java.util包中的旧 API ,java.time包中的新日期和时间 API可以更轻松地使用。在本教程中,我们将看到它如何产生巨大的不同。

java.time包中的LocalDate类帮助我们实现了这一点。LocalDate是一个不可变的、线程安全的类。此外,LocalDate只能包含日期值,不能包含时间分量。

现在让我们看看创建一个带有值的所有变体。

2.使用of()创建自定义LocalDate

让我们看一下创建表示 2020 年 1 月 8 日的LocalDate的几种方法。我们可以通过将值传递给工厂方法来创建一个:

LocalDate date = LocalDate.of(2020, 1, 8);

也可以使用Month枚举指定月份:

LocalDate date = LocalDate.of(2020, Month.JANUARY, 8)

我们也可以尝试使用纪元日来获取它:

LocalDate date = LocalDate.ofEpochDay(18269);

最后,让我们创建一个具有年份和年份值的值:

LocalDate date = LocalDate.ofYearDay(2020, 8);

3.通过解析字符串创建LocalDate

最后一个选项是通过解析字符串来创建日期。我们可以使用只有一个参数的parse方法来解析yyyy-mm-dd格式的日期:

LocalDate date = LocalDate.parse("2020-01-08");

我们还可以指定一个不同的模式来使用DateTimeFormatter类作为解析方法的第二个参数:

LocalDate date = LocalDate.parse("8-Jan-2020", DateTimeFormatter.ofPattern("d-MMM-yyyy"));

4。总结

在本文中,我们看到了在 Java中创建具有值的LocalDate的所有变体。Date & Time API 文章可以 帮助我们了解更多。

与往常一样,本教程的完整源代码可在GitHub上获得。

Show Disqus Comments

Post Directory

扫码关注公众号:Taketoday
发送 290992
即可立即永久解锁本站全部文章