Java日期LocalDate使用
Posted jiangxishicheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java日期LocalDate使用相关的知识,希望对你有一定的参考价值。
在做报表统计时,需要对指定时间内的数据做统计,则需要使用到时间日期API
在此使用的是java.util.Date的完美私生子LocalDate类
- LocalDate方法介绍
- now() : 从默认时区的系统时钟中获取当前日期。
LocalDate l = LocalDate.now();
System.out.println(l.plusYears(1));
2020-05-17
Process finished with exit code 0
2. now(ZoneId) : 从指定时区的系统时钟中获取当前日期。
LocalDate l = LocalDate.now(ZoneId.of("-05:00"));
System.out.println(l.plusYears(1));
3. now(Clock) : 从指定时钟获取当前日期。
LocalDate l = LocalDate.now(Clock.systemUTC());
4. of(int,Month,int) : 从年、月和日获取LocalDate实例。
System.out.println(LocalDate.of(0, Month.MAY, 1));
0000-05-01
Process finished with exit code 0
5. ofYearDay(int year,int dyaOfYear) : 从指定年的获取指定年中的指定天获取LocalDate实例
LocalDate l = LocalDate.ofYearDay(1998, 99);
System.out.println(l);
1998-04-09
Process finished with exit code 0
6. ofEpochDay(long epochDay) : 从1970年开始获取指定天数的LocalDate实例
LocalDate l = LocalDate.ofEpochDay(0);
System.out.println(l);
1970-01-01
Process finished with exit code 0
先写到这里..
下面是用到的地方:
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
先更新到这里,主要刚好在用,作个笔记同时各个方法之间的组合可以解决不同的需求,希望我这目前仅有的两个case也可以带给他人灵感。
如果JDK为1.8以前处理时间日期问题时,也可以使用joda-time,当然1.8包括1.8之后则可以使用自带的java.time,因为java.time就是借鉴于joda-time来完善Java的日期时间处理问题。
写博新手(haha),先写这么点,也是觉得想把没用过又需要使用的技术做个笔记,后面再完善,不会添加代码块,才发现一直点的添加代码左边那个插入嵌入是ε≡?(?>?<)? 。
以上是关于Java日期LocalDate使用的主要内容,如果未能解决你的问题,请参考以下文章
java8新增了localdate和localtim,要如何处理日期和时间?
使用 Java 8 流在 LocalDate 属性的对象列表中查找最近的日期
《Java8实战》读书笔记11:Java8中新的日期时间API