Java LocalDate
时间:2020-01-09 10:35:56 来源:igfitidea点击:
Java 8日期时间API中的LocalDate
类表示本地日期,它是没有时区信息的日期。当地日期可以是出生日期或者公休日等,它与一年中的特定日期相关,而不与该日的确切时间(一天开始的那一刻)相关。
Java的LocalDate类位于java.time包中,因此其完全限定的类名称为java.time.LocalDate。 LocalDate实例是不可变的,因此对LocalDate的所有计算都返回一个新的LocalDate。
创建一个LocalDate
我们可以通过多种方式创建LocalDate
。第一种方法是获取与今天的本地日期相对应的LocalDate。这是一个使用now()
方法创建LocalDate
的例子:
LocalDate localDate = LocalDate.now();
创建LocalDate的另一种方法是根据年,月和日的信息来创建它,如下所示:
LocalDate localDate2 = LocalDate.of(2014, 12, 31);
LocalDate的of()方法创建一个LocalDate实例,该实例表示特定年份的特定月份的特定日期,但没有时区信息。
访问LocalDate的日期信息
我们可以使用以下方法访问" LocalDate"的日期信息:
getYear()
getMonth()
getDayOfMonth()
getDayOfWeek()
getDayOfYear()
这是说明这些方法的用法的示例:
int year = localDate.getYear(); Month month = localDate.getMonth(); int dayOfMonth = localDate.getDayOfMonth(); int dayOfYear = localDate.getDayOfYear(); DayOfWeek dayOfWeek = localDate.getDayOfWeek();
注意getMonth()和getDayOfWeek()方法如何返回一个enum而不是int。从这些枚举中,我们可以通过调用其getValue()方法来获取其作为int值的信息。
LocalDate计算
我们可以使用以下一种或者多种方法,通过LocalDate类执行一组简单的日期计算:
plusDays()
plusWeeks()
plusMonths()
plusYears()
- minusDays()
- minusWeeks()
- minusMonths()
- minusYears()
以下是一些LocalDate计算示例,可让我们大致了解这些日期计算方法的工作方式:
LocalDate localDate = LocalDate.of(2014, 12, 31); LocalDate localDate1 = localDate.plusYears(3); LocalDate localDate2 = localDate.minusYears(3);
第一行创建一个新的LocalDate。第二行创建一个新的" LocalDate",该日期与第一个日期相同,但三年后。第三行创建一个新的" LocalDate"对象,该对象表示的日期与第一个相同,但早于3年。