Java8日期处理

版权声明:本文为博主原创文章,未经博主允许转载将负法律责任。 https://blog.csdn.net/ningmengbaby/article/details/81070539

【前言】

关于日期的处理在每一个项目中都是会涉及到的。

【过程】

  • Instant.now()                      //Instant表示一个精确的时间点
  •  LocalDate                                //本地日期

新的API可以用生活中一样的方式来表示年和月份。

 //获取当前时间

LocalDate now=LocalDate.now();

//2018-07-16

LocalDate newYear=LocalDate.of(2018,7,16);

//三天后

now.plusDays(3);

//一周后

now.plusWeeks(1);

//两天前

now.minusDays(2);

//增加一个月并不会出现 2018-02-31而是会返回该月的最后一个有效日期,即2018-02-28

LocalDate.of(2018,1,31).plusMonths(1);

LocalDate feb=LocalDate.of(2017,2,1);

feb.withYear(2019);         //2019-2-1

feb.withDaysOfYear(10);  //2017-1-10

feb.withDayOfMonth(10);  //2017-2-10

withXxx()表示以该日期为基础,修改年、月、日字段,并返回一个新的日期

//2019-02-01

feb.plus(Period.ofYears(2));

//2015-02-01

feb.minus(Period.ofYears(2));

//输出P9D,表示相差9天

feb.until(LocalDate.of(2017,2,10)); 

//SUNDAY

LocalDate.of(2017,1,1).getDayOfWeek();

//TUESDAY

DayOfWeek.SUNDAY.plus(2); 

getXxx()返回所需要的数据

  • LocalTime (本地时间)表示一天中的某个时间,例如18:00:00 

  • LocalDateTime (本地日期时间) 表示一个日期和 时间,它适合用来存储确定时区的某个时间点。
  • 格式化和解析  DateTimeFormatter 

DateTimeFormatter是不可变类,而SimpleDateFormatter是非线程安全的。 

//自定义模式格式化

DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now) ;

//自定义格式器

DateTimeFormatter dft=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

Java 日期/时间API包

java.time    :这是新的Java日期/时间API的基础包

java.time.temparal :这个包包含一些时态对象,我们可以用其找出关于日期/时间对象的某个日期或时间 

【总结】

Java8在日期的处理方面比Date和Calender简单了很多,多用多总结。 

猜你喜欢

转载自blog.csdn.net/ningmengbaby/article/details/81070539