Java8新增的时间日期处理类

前言       

Java8之前处理日期一直是Java程序员比较头疼的问题,从Java 8之后,Java里面添加了许多的新特性,其中一个最常见也是最实用的便是日期处理的类——LocalDate。LocalDate是一种更为高效的日期类,比起Date的复杂具有相当高的简洁性,吸取了企业级别的joda.time时间处理的优点,避免了传统的Date和Calendar复合起来计算的难处。
新增的日期主要有三种:
java.time.LocalDate  ->只对年月日做出处理
java.time.LocalTime  ->只对时分秒纳秒做出处理
java.time.LocalDateTime ->同时可以处理年月日和时分秒

LocalDate、LocalTime、LocalDateTime

  1. LocalDate:代表IOS格式(yyyy-MM-hh)的日期,不包含具体时间的日期,比如2014-01-14。它可以用来存储生日,周年纪念日,入职日期等。;
  2. LocalTime:它代表的是不含日期的时间;
  3. LocalDateTime:它包含了日期及时间,不过还是没有偏移信息或者说时区,比较常用;

三种共同特点:

  • 相比于前面的Date和Calendar,他们是线程安全的;
  • 它们是不可变的日期时间对象;

常用API:

方法 描述
now() ; now(Zoneld zone) 静态方法,根据当前时间创建对象 ; 指定时区的对象
of() 静态方法,根据指定日期,时间创建对象
getDayOfMonth()  获得月份天数(1-31) 
getDayOfYear() 获取年份天数(1-366)
getDayOfWeek() 获得星期几
getYear() 获得年份
getMonth() ; getMonthValue() 获得月份(返回枚举值如:January) ; 返回数字(1-12)
getHour();getMinute();getSecond() 获得当前对象的时,分,秒
withDayOfMonth();withDayOfYear();withMonth();withYear() 将月份天数;年份天数;月份;年份修改为指定的值并且返回新的对象,因为LocalDate等是不变性的
plusDays();plusWeeks();plusMonths();plusYears();plusHours() 向当前对象添加几天、几周、几个月、几年,几小时
minusDays();minusWeeks();minusMonths();minusYears();minusHours() 从当前对象减去几月、几周、几个月、几年、几小时
isLeapYear() 判断是否为闰年
isBefore;isEqual;isAfter 检查日期是否在指定日期前面,相等,后面

由于LocalDate的API与LocalTime、LocalDateTime大都是通用的,所有后面两个的就不展示了。

实例:

//now():获取当前日期
LocalDate localDate=LocalDate.now();
LocalTime localTime=LocalTime.now();
LocalTime localTime1= LocalTime.now().withNano(0); // 这个是不带毫秒的
LocalDateTime localDateTime=LocalDateTime.now();
System.out.println("日期:"+localDate);
System.out.println("时间&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值