实例详解Java库中的LocalDate类
Java库中的LocalDate类
类库设计者决定将保存时间与给时间点命名分开。所以标准Java类库分别包含了两个类:一个用来表示时间点的Date类;另一个是用来表示大家熟悉的日历表示法的LocalDate类。
将时间与日历分开是一种很好的面向对象设计。通常,最好使用不同的类表示不同的概念。
不要使用构造器来构造LocalDate类的对象。实际上,应当使用静态工厂方法代表你调用构造器。
下面表达式
LocalDate.now();
会构造一个新对象,表示构造这个对象时日期。
可以提供年、月和日来构造对应一个特定日期对象
LocalDate.of(1999,12,31);
当然,通常都希望将构造的对象保存在一个对象变量中:
LocalDate newYearsEve = LocalDate.of(1999,12,31);
一旦有了一个LocalDate对象,可以用方法getYear、getMonthValue和getDayOfMonth得到年、月和日:
int year = newYearsEve.getYear();//2022 int month = newYearsEve.getMonthValue();//1 int day = newYearsEve.getDayOfMonth();//15
看起来这个没多大意义,因为这些正是构造对象时使用的那些值。不过有时可能某个日期是计算得到的,你希望调用这些方法来得到更多信息。例如plusDays方法会得到一个新的LocalDate,如果把这个方法的对象,称为当前对象,这个新日期对象则是距当前对象指定天数的一个新日期:
LocalDate aThousandDaysLater = newYearsEve.plusDays(1000) int year = aThousandDaysLater.getYear(); //2024 int month = aThousandDaysLater.getMonthValue();//10 int day = aThousandDaysLater.getDayOfMonth();//11
LocalDate类封装了实例域来维护所设置的日期。如果不查看源代码,就不可能知道类内部的日期表示。
Java获取上周指定日的日期
获取上周星期一的日期
LocalDate local=LocalDate.now().with(DayOfWeek.MONDAY);
以上方法更改上周指定日只要更改with()方法中的参数去指定过滤条件就行。就比如要获取今天日期所属这个礼拜的星期二的日期就可以:
LocalDate local=LocalDate.now().with(DayOfWeek.TUESDAY);
- 获取上月某天日期
//now()当前时间为2019.5.17 LocalDate nowDate = LocalDate.now(); System.out.println( nowDate.minusMonths(1) .with(MonthDay.of(nowDate.minusMonths(1).getMonth(), 3)) );
2019-04-03
Process finished with exit code 0
参考书籍:
《java核心基础·卷一:基础知识(原版10)》
总结
到此这篇关于Java库中LocalDate类的文章就介绍到这了,更多相关Java库中LocalDate类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
win10 下 idea2020安装 JetBrains-agent.jar 包后闪退的问题及解决办法
这篇文章主要介绍了win10 下 idea2020安装 JetBrains-agent.jar 包后闪退的解决办法,本文给大家带来原因分析及解决方法,需要的朋友可以参考下2020-08-08springboot整合JSR303参数校验与全局异常处理的方法
JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator,这篇文章主要介绍了springboot整合JSR303参数校验与全局异常处理,需要的朋友可以参考下2022-09-09springboot整合swagger3报Unable to infer base&nbs
这篇文章主要介绍了springboot整合swagger3报Unable to infer base url错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05springboot对接第三方微信授权及获取用户的头像和昵称等等
这篇文章主要介绍了springboot对接第三方微信授权及获取用户的头像和昵称等等,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-01-01IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
这篇文章主要介绍了IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署,本文图文实例相结合给大家介绍的非常详细,需要的朋友可以参考下2021-09-09
最新评论