Java8日期处理

【前言】

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

【过程】

  • 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简单了很多,多用多总结。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值