您的位置:首页 > 编程语言 > Java开发

Java 8系列(一): 日期/时间- JSR310( Date and Time API)

2017-08-23 15:36 851 查看
全新API的众多好处之一就是明确了日期时间概念,例如:瞬时(instant)、长短(duration)、日期、时间、时区和周期。同时继承了Joda库按人类语言和计算机各自解析的时间处理方式。不同老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类且线程安全的。新版API中java.time包里的一些关键类:

Instant:瞬时实例

LocalDate:本地日期,不包含具体时间 例如:2014-01-14 可以用来记录生日、纪念日、加盟日等。

LocalTime:本地时间,不包含日期。

LocalDateTime:组合了日期和时间,但不包含时差和时区信息。

ZonedDateTime:最完整的日期时间,包含时区和相对UTC或格林威治的时差。

java.time.LocalDate

只提供日期不提供时间信息

LocalDate localDate = LocalDate.now();

//
localDate.lengthOfMonth();
localDate.getMonth().name();
//2天之后
localDate.plus(2,ChronoUnit.DAYS);
//2天之前
localDate.minus(2,ChronoUnit.DAYS);

java.time.LocalTime

只提供时间而不提供日期信息

LocalTime localTime=LocalTime.now();

//小时
localTime.getHour();
//2个小时之后
localTime.plus(2,ChronoUnit.HOURS);
//6分钟之后
localTime.plusMinutes(6);
//2个小时之前
localTime.plus(2,ChronoUnit.HOURS);

java.time.LocalDateTime

提供时间和日期的信息

LocalDateTime localDateTime = LocalDateTime.now();

//2天之后
localDateTime.plus(2,ChronoUnit.DAYS);
//2天之前
localDateTime.minus(2,ChronoUnit.DAYS);

java.time.Year

提供年的信息

Year year = Year.now();

java.time.Duration

用来计算两个给定的日期之间包含多少秒,多少毫秒

java.time.Period

用户计算两个给定的日期之间包含多少天,多少月,或者多少年

LocalDate localDate = LocalDate.now();
Period period = Period.between(localDate,localDate.plus(2,ChronoUnit.DAYS));
period.getDays();


参考文章:
http://blog.csdn.net/sf_cyl/article/details/51987088 http://blog.csdn.net/bangrenzhuce/article/details/52270232 http://www.cnblogs.com/exmyth/p/6425878.html http://www.blogjava.net/4cai/archive/2014/04/29/413041.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: