如何在Java 9中使用JShell实现java.time.LocalDate?

JShell 是Java 9中引入的REPL (读取-评估-打印-循环)交互式工具,用于获取输入,评估输入并将输出返回给用户。

java.util.LocalDate类提供了一些方法来检索日期信息:日/月/年 的相关属性日期的元信息:分类相关的信息,比如是否一个飞跃 LOCALDATE的类是不可变的,我们可以使用提供不同的方法加 减 几天,几个月,甚至几年。每一个都返回LocalDate的新实例。

在下面的两个代码段中,我们可以使用LocalDate类打印不同的操作。

片段1

jshell> import java.time.*;

jshell> LocalDate today = LocalDate.now()
today ==> 2020-04-22

jshell> today.getYear()
$3 ==> 2020

jshell> today.getDayOfWeek()
$4 ==> WEDNESDAY

jshell> today.getDayOfMonth()
$5 ==> 22

jshell> today.getDayOfYear()
$6 ==> 113

jshell> today.getMonth()
$7 ==> APRIL

jshell> today.getMonthValue()
$8 ==> 4

jshell> today.isLeapYear()
$9 ==> true

jshell> today.lengthOfYear()
$10 ==> 366

jshell> today.lengthOfMonth()
$11 ==> 30

片段2

jshell> today.plusDays(50)
$12 ==> 2020-06-11

jshell> today.plusMonths(50)
$13 ==> 2024-06-22

jshell> today.plusYears(50)
$14 ==> 2070-04-22

jshell> today.minusYears(50)
$15 ==> 1970-04-22

jshell> LocalDate yesterYear = today.minusYears(50)
yesterYear ==> 1970-04-22

jshell> today
today ==> 2020-04-22