欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java日期LocalDate使用

程序员文章站 2022-03-31 12:39:21
在做报表统计时,需要对指定时间内的数据做统计,则需要使用到时间日期API 在此使用的是java.util.Date的完美私生子LocalDate类 LocalDate方法介绍 2020-05-17 Process finished with exit code 0 2. now(ZoneId) :  ......

在做报表统计时,需要对指定时间内的数据做统计,则需要使用到时间日期api

在此使用的是java.util.date的完美私生子localdate类

  •   localdate方法介绍
  1.   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),先写这么点,也是觉得想把没用过又需要使用的技术做个笔记,后面再完善,不会添加代码块,才发现一直点的添加代码左边那个插入嵌入是ε≡٩(๑>₃<)۶ 。