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) | 返回此日期的副本与年更改 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。