Java如何使用LocalDate类进行日期处理呢?
下文笔者讲述使用LocalDate类对日期进行处理的方法分享,如下所示
LocalDate类简介
LocalDate是Java8的新特性 他是一个全新的日期时间API
LocalDate中常用的方法
static LocalDate now():
构造一个表示当前日期的对象
static LocalDate of(int year , int month ,int day):
构造一个标识给定日期的对象
int getYear()/int getMonthValue()/int getDayOfMonth():
获取当前日期的年、月和日。
DayOfWeek getDayOfWeek:
获取当前日期是星期几
作为DayOf类的一个实例返回
调用getValue来得到1~7之间的一个数
表示这是星期几
1表示星期一
7表示星期日
LocalDate plusDays(int n):
生成当前日期后n天的日期
LocalDate minusDays(int n):
生成当前日期前n天的日期
LocalDate类的特点:
无需使用构造器来构造LocalDate类的对象
直接使用静态工厂方法
例:LocalDate示例分享
import java.time.DayOfWeek;
import java.time.LocalDate;
public class TestLocalDate {
public static void main(String[] args) {
LocalDate nowDate = LocalDate.now();//获取当前时间
System.out.println("当前日期为:"+nowDate);//输出当前时间:2023-11-30
LocalDate ofDate = LocalDate.of(2023, 06, 17);//构造时间为2023-06-17
System.out.println("构造ofDate日期为"+ofDate);//输出时间:2023-06-17
int ofDateYear = ofDate.getYear();//获取ofDate的年份是多少
int nowYear = nowDate.getYear();
System.out.println("ofDate的所处年份为:"+ofDateYear);//输出2023
System.out.println("今年的年份为:"+nowYear);//输出2023
DayOfWeek dayOfWeek = ofDate.getDayOfWeek();//得到ofDate的日期是在周几
System.out.println(dayOfWeek);//输出周几
LocalDate plusYear = ofDate.plusDays(400);//得到ofDate的日期的后400天是哪一天、
LocalDate minusYear = nowDate.minusDays(800);//得到当前日期的前800天是哪一天
System.out.println(ofDate+"后400天的日期为:"+plusYear);
System.out.println(nowDate+"前800天的日期为:"+minusYear);
}
}
LocaDate中其他方法
| Temporal adjustInto(Temporal temporal) | 调整指定的时间对象,以具有此对象的相同日期 |
| LocalDateTime atStartOfDay() | 结合这个日期与午夜的时间创建一个 LocalDateTime在这个日期开始 |
| ZonedDateTime atStartOfDay(ZoneId zone) | 根据时区的规则,在最早的有效时间内返回一个分区的时间 |
| LocalDateTime atTime(int hour, int minute) | 结合这个日期与时间创建一个 LocalDateTime |
| LocalDateTime atTime(int hour, int minute, int second) | 结合这个日期与时间创建一个 LocalDateTime |
| LocalDateTime atTime(int hour, int minute, int second, int nanoOfSecond) | 结合这个日期与时间创建一个 LocalDateTime |
| LocalDateTime atTime(LocalTime time) | 结合这个日期与时间创建一个 LocalDateTime |
| OffsetDateTime atTime(OffsetTime time) | 结合这个日期与时间偏移来创建一个 OffsetDateTime |
| int compareTo(ChronoLocalDate other) | 将此日期与另一个日期进行比较 |
| boolean equals(Object obj) | 检查此日期是否等于另一个日期 |
| String format(DateTimeFormatter formatter) | 使用指定的格式的日期格式 |
| static LocalDate from(TemporalAccessor temporal) | 获得 LocalDate实例从一个时空对象 |
| int get(TemporalField field) | 获取指定字段的值,从这个日期作为一个 int |
| IsoChronology getChronology() | 获取此日期的日期,这是国际标准化组织的日历系统 |
| int getDayOfMonth() | 获取月字段的一天 |
| DayOfWeek getDayOfWeek() | 获取星期域,这是一个枚举 DayOfWeek |
| int getDayOfYear() | 获取一年的第多少天 |
| Era getEra() | 获取在这个日期适用的时代 |
| long getLong(TemporalField field) | 获取指定字段的值,从这个日期作为 long |
| Month getMonth() | 得到月年田间使用 Month枚举 |
| int getMonthValue() | 从1到12得到一个月的时间字段 |
| int getYear() | 获取年度字段 |
| int hashCode() | 此日期的哈希代码 |
| boolean isAfter(ChronoLocalDate other) | 检查此日期是否在指定日期之后 |
| boolean isBefore(ChronoLocalDate other) | 检查此日期是否在指定日期之前 |
| boolean isEqual(ChronoLocalDate other) | 检查此日期是否等于指定日期 |
| boolean isLeapYear() | 检查,如果今年是闰年,根据ISO预期历法系统规则 |
| boolean isSupported(TemporalField field) | 检查指定字段是否被支持 |
| boolean isSupported(TemporalUnit unit) | 检查指定的单位是否被支持 |
| int lengthOfMonth() | 返回此日期所表示的月份的长度 |
| int lengthOfYear() | 返回此日期所表示的年份的长度 |
| LocalDate minus(long amountToSubtract, TemporalUnit unit) | 返回此日期的一个副本,用指定的金额减去 |
| LocalDate minus(TemporalAmount amountToSubtract) | 返回此日期的一个副本,用指定的金额减去 |
| LocalDate minusDays(long daysToSubtract) | 返回一份本 LocalDate与指定的天数减去 |
| LocalDate minusMonths(long monthsToSubtract) | 返回一份本 LocalDate与指定期个月减去 |
| LocalDate minusWeeks(long weeksToSubtract) | 返回一份本 LocalDate在周中减去指定的时间 |
| LocalDate minusYears(long yearsToSubtract) | 返回一份本 LocalDate与指定期在年中减去 |
| static LocalDate now() | 在默认时区中从系统时钟获取当前日期 |
| static LocalDate now(Clock clock) | 从指定的时钟获取当前日期 |
| static LocalDate now(ZoneId zone) | 从指定时区中的系统时钟中获取当前日期 |
| static LocalDate of(int year, int month, int dayOfMonth) | 获得 LocalDate实例从一年、月、日 |
| static LocalDate of(int year, Month month, int dayOfMonth) | 获得 LocalDate实例从一年、月、日 |
| static LocalDate ofEpochDay(long epochDay) | 获得 LocalDate实例从时代的日数 |
| static LocalDate ofYearDay(int year, int dayOfYear) | 获得 LocalDate实例从一年一年 |
| static LocalDate parse(CharSequence text) | 获得 LocalDate实例从一个文本字符串,如 2007-12-03 |
| static LocalDate parse(CharSequence text, DateTimeFormatter formatter) | 获得 LocalDate实例从使用特定格式的文本字符串 |
| LocalDate plus(long amountToAdd, TemporalUnit unit) | 返回此日期的一个副本,添加指定的金额 |
| LocalDate plus(TemporalAmount amountToAdd) | 返回此日期的一个副本,添加指定的金额 |
| LocalDate plusDays(long daysToAdd) | 返回一份本 LocalDate与指定的天数增加 |
| LocalDate plusMonths(long monthsToAdd) | 返回一份本 LocalDate在月期添加指定的 |
| LocalDate plusWeeks(long weeksToAdd) | 返回一份本 LocalDate在周指定期间补充 |
| LocalDate plusYears(long yearsToAdd) | 返回一份本 LocalDate年指定期间补充 |
| <R> R query(TemporalQuery<R> query) | 使用指定的查询查询此日期 |
| ValueRange range(TemporalField field) | 获取指定字段的有效值的范围 |
| long toEpochDay() | 将此日期转换为新纪元日 |
| String toString() | 输出该日期作为 String,如 2007-12-03 |
| Period until(ChronoLocalDate endDateExclusive) | 计算这个日期和日期之间的时间作为一个 Period |
| long until(Temporal endExclusive, TemporalUnit unit) | 计算时间的量,直到指定单元的另一个日期为止 |
| LocalDate with(TemporalAdjuster adjuster) | 返回此日期的调整副本 |
| LocalDate with(TemporalField field, long newValue) | 将此日期的一个副本与指定的字段设置为一个新值 |
| LocalDate withDayOfMonth(int dayOfMonth) | 返回此日期的副本与月更改日期 |
| LocalDate withDayOfYear(int dayOfYear) | 返回此日期的副本与一年的日期更改 |
| LocalDate withMonth(int month) | 返回此日期的副本与更改的月份 |
| LocalDate withYear(int year) | 返回此日期的副本与年更改 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


