在看题的时候发现了Java8中新加入的日期时间类,觉得这个小哥写的不错,自己也跟着练习下。原文地址:https://blog.csdn.net/yy139926/article/details/124298574
前言:
Java中1.8之前有date类,date类到了1.8大部分的方法被弃而且date类如果不格式化可读性十分差,而simpledateformat方法中format和parse方法都是线程不安全的。Java1.8之后出现了localdate,localdatetime,localtime这些类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类,所以这些类都是线程安全的。
一、LocalDate:年月日
LocalDate类的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息,这个类是不可变的和线程安全的。
| 方法 | 描述 |
|---|---|
| now | 根据当前时间创建LocalDate对象 |
| of | 根据指定年月日创建LocalDate对象 |
| getYear | 获得年份 |
| getMonthValue | 获得月份 |
| getMonth | 获得月份枚举值 |
| getDayOfMonth | 获得月份天数(1-31) |
| getDayOfWeek | 获得星期几 |
| getDayOfYear | 获得年份中的第几天(1-366) |
| lengthOfYear | 获得当年总天数 |
| lengthOfMonth | 获得当月总天数 |
| toEpochDay | 与时间纪元(1970年1月1日)相差的天数 |
| plusDays | 加天 |
| plusWeeks | 加周 |
| plusMonths | 加月 |
| plusYears | 加年 |
| minusDays | 减年 |
| minusWeeks | 减周 |
| minusMonths | 减月 |
| minusYears | 减年 |
| withYear | 替换年份 |
| withYear | 替换年份 |
| withDayOfMonth | 替换日期 |
| withDayOfYear | 替换日期 |
| isBefore | 是否日期在之前 |
| isAfter | 是否日期在之后 |
| isEqual | 是否是当前日期 |
| isleapYear | 是否是闰年 |
二、LocalTime:时分秒
| 方法 | 描述 |
|---|---|
| static LocalTime now() | 获取默认时区的当前时间 |
| static LocalTime now(ZoneId zone) | 获取指定时区的当前时间 |
| static LocalTime now(Clock clock) | 从指定时钟获取当前时间 |
| of | 根据指定的时、分、秒获取LocalTime 实例 |
| getHour | 获取小时字段 |
| getMinute | 获取分钟字段 |
| getSecond | 获取秒字段 |
| getNano | 获取纳秒字段 |
| plusHours | 增加小时数 |
| plusMinutes | 增加分钟数 |
| plusSeconds | 增加秒数 |
| plusNanos | 增加纳秒数 |
| minusHours | 减少小时数 |
| minusMinutes | 减少分钟数 |
| minusSeconds | 减少秒数 |
| minusNanos | 减少纳秒数 |
| compareTo | 时间与另一个时间比较 |
| isAfter | 检查时间是否在指定时间之后 |
| isBefore | 检查时间是否在指定时间之前 |
三、LocalDateTime:年月日时分秒
| 方法 | 描述 |
|---|---|
| static LocalDateTime now() | 获取默认时区的当前日期时间 |
| static LocalDateTime now(Clock clock) | 从指定时钟获取当前日期时间 |
| static LocalDateTime now(ZoneId zone) | 获取指定时区的当前日期时间 |
| static LocalDateTime of(LocalDate date, LocalTime time) | 根据日期和时间对象获取LocalDateTime 实例 |
| static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second) | second) 根据指定的年、月、日、时、分、秒获取LocalDateTime 实例 |
| getYear | 获取年份 |
| getMonth | 使用月份枚举类获取月份 |
| getDayOfMonth | 获取日期在该月是第几天 |
| getDayOfWeek | 获取日期是星期几 |
| getDayOfYear | 获取日期在该年是第几天 |
| getHour | 获取小时 |
| getMinute | 获取分钟 |
| getSecond | 获取秒 |
| getNano | 获取纳秒 |
| plusYears | 增加年 |
| plusMonths | 增加月 |
| plusWeeks | 增加周 |
| plusDays | 增加天 |
| plusHours | 增加小时 |
| plusMinutes | 增加分 |
| plusSeconds | 增加秒 |
| plusNanos | 增加纳秒 |
| minusYears | 减少年 |
| minusMonths | 减少月 |
| meminusWeeks | 减少周 |
| minusDays | 减少天 |
| minusHours | 减少小时 |
| minusMinutes | 减少分 |
| minusSeconds | 减少秒 |
| minusNanos | 减少纳秒 |
| isEqual | 判断日期时间是否相等 |
| isBefore | 检查是否在指定日期时间之前 |
| isAfter | 检查是否在指定日期时间之后 |
原创文章,作者:,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/272698.html