Java8优化---日期处理

本文介绍了Java8中全新的日期处理API,包括LocalDate、LocalTime、LocalDateTime等类的使用,如获取当前日期、增加时间、判断日期相等、处理周期性事件等,并展示了如何进行日期比较、计算日期间隔以及处理时区信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java8之前处理日期往往使用java.util.Date ,SimpleDateFormat ,java.util.Calendar。

全新的API(java.time.*)的好处是:明确了日期时间的概念,例如:瞬时(instant)、 长短(duration)日期时间时区周期。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。

关键类:

示例:

1,获取当前日期

LocalDate 只获取当天的年月日日期,不包含时间。

LocalDate today = LocalDate.now();
System.out.println("Local date : " + today);
Date date=new Date();
System.out.println("date : " + date);
Calendar calendar=Calendar.getInstance();
Date calendarTime=calendar.getTime();
System.out.println("calendarTime:"+calendarTime);

输出:   

Local date : 2021-05-07
date : Fri May 07 10:40:08 CST 2021
calendarTime:Fri May 07 10:40:08 CST 2021

 

2,获取年,月,日

LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();

System.out.printf("Year : %d  Month : %d  day : %d ", year, month, day);

输出:

Year : 2021  Month : 5  day : 7

3,处理特定日期,直接使用of传入年月日三个参数,获取localDate

LocalDate localDate = LocalDate.of(2018, 05, 07);
System.out.println("The date is : " + localDate);

输出:

The date is : 2018-05-07

 

4,判断两个日期是否相等(例如判断今天是否是5月7日)

LocalDate today = LocalDate.now();
LocalDate localDate = LocalDate.of(2021, 05, 07);

if(localDate.equals(today)){
    System.out.printf("TODAY %s and DATE1 %s are same date %n", today, localDate);
}

输出:

TODAY 2021-05-07 and DATE1 2021-05-07 are same date 

 

5,检查像生日,法定节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值