Java如何使用LocalDate类进行日期处理呢?

戚薇 Java经验 发布时间:2023-06-14 10:46:54 阅读数:12448 1
下文笔者讲述使用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) 返回此日期的副本与年更改
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202306/16867108496785.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者