java常用应用程序编程接口(API)——LocalDateTime,LocalDate,LocalTime,ZoneId,ZonedDateTime概述

本文介绍了Java8之后更易用的时间API,包括LocalDateTime、LocalDate、LocalTime和ZoneId、ZonedDateTime,它们提供了更精确的纳秒控制,以及创建新对象而非覆盖原有对象的能力。
摘要由CSDN通过智能技术生成

前言:

在jdk8以后,出现了更多好用的时间相关的api,整理下使用心得。打好基础,daydayup!

jdk8以前使用的时间api可以看这篇:

java常用应用程序编程接口(API)——Date,SimpleDateFormat,Calendar概述 

 LocalDateTime,LocalDate,LocalTime

LocalDate:代表本地日期(年,月,日,星期)

LocalTime:代表本地时间(时,分,秒,纳秒)

LocalDateTime:代表本地日期,时间(年,月,日,星期,时,分,秒,纳秒)

 使用方式:

使用方法:public static Xxxx now(); (获取系统当前时间对应的该对象)

例:如下

常用方法:

LocalDate:
方法名说明
public int getYear()获取年
public int getMonthValue()获取月份
public int getDayOfMonth()获取日
public int getDayOfYear()获取当前是一年中的第几天
public DayOfWeek getDayOfWeek()获取星期几
public static LocalTime of(...)获取指定的对象
withYear,withMonth,withDayOfMonth,withDayOfYear修改信息,返回新日期对象
plusYears,plusMonths,plusDays,plusWeeks把某个信息加多少,返回新日期对象
minusYears,minusMonths,minusDays,minusWeeks把某个信息减多少,返回新日期对象
equals,isBefore,isAfter判断2个日期对象,是否相等,在前还是在后

例: 

 

LocalTime:
方法名说明
public int getHour()获取小时
public int getMinute()获取分
public int getSecond()获取秒
public int getNano()获取纳秒
public static LocalTime of(...)获取指定的对象
withHour,withMinute,withSecond,withNano修改时间,返回新时间对象
plusHours,plusMinutes,plusSecond,plusNanos把某个信息加多少,返回新时间对象
minusHours,minusMinutes,minusSecond,minusNanos把某个信息减多少,返回新时间对象
equals,isBefore,isAfter判断2个时间对象,是否相等,在前还是在后

例:

 LocalDateTime:
方法名说明
public static LocalTime of(...)获取指定的对象
getYear,getMonthValue,getDayOfMonth,getDayOfYear,getHour,getMinute,getSecond,getNano获取年月日,时分秒,纳秒等
withYear,withMonth,withDayOfMonth,withDayOfYear,withHour,withMinute,withSecond,withNano修改时间,返回新日期时间对象
plusYears,plusMonths,plusDays,plusWeeks,plusHours,plusMinutes,plusSecond,plusNanos把某个信息加多少,返回新日期时间对象
minusYears,minusMonths,minusDays,minusWeeks,minusHours,minusMinutes,minusSecond,minusNanos把某个信息减多少,返回新日期时间对象
equals,isBefore,isAfter判断2个日期时间对象,是否相等,在前还是在后

例:

 ZoneId,ZonedDateTime

ZoneId代表时区,ZonedDateTime代表时区时间

常见方法:

 ZoneId:
方法说明
public static Set<String>getAvailableZonelds()获取java中支持的时区
public static Zoneld systemDefault()获取系统默认时区
public static Zoneld of(String zoneld)获取一个指定时区
 ZonedDateTime:
方法名说明
public static ZonedDateTime now()获取当前时区的ZonedDateTime对象
public static ZonedDateTime now(Zoneld zone)获取指定时区的ZonedDateTime对象
getYear,getMonthValue,getDayOfMonth,getDayOfYear,getHour,getMinute,getSecond,getNano获取年月日,时分秒,纳秒等
public ZonedDateTime withXxx(时间)修改时间系列的方法
public ZonedDateTime minusXxx(时间)减少时间系列的方法
public ZonedDateTime plusXxx(时间)增加时间系列的方法

 

总结: 

jdk8之前用Calendar,jdk8以后用LocalDateTime,LocalDate,LocalTime,ZoneId,ZonedDateTime,因为不仅可以精确到纳秒,还可以在改变对象时间时,生成新的对象,不会直接覆盖原来的对象。整理结束,撒花!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值