文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java LocalDate的详细方法总结

2023-09-20 11:26

关注

1、LocalDate now()

从默认时区的系统时钟获取当前日期。

        LocalDate a = LocalDate.now();        System.out.println(a); // 2023-06-06

2、LocalDate now(ZoneId zone)

从默认时区的系统时钟获取当前日期 

        LocalDate a = LocalDate.now(ZoneId.systemDefault());//系统默认        System.out.println(a); // 2023-06-06

3、 LocalDate now(Clock clock)

从指定的时钟获取当前日期

        LocalDate a = LocalDate.now(Clock.systemDefaultZone());//系统默认        System.out.println(a); // 2023-06-06

4、LocalDate of(int year, int month, int dayOfMonth)

从年、月和日获取实例 LocalDate

year – 代表年份,从MIN_YEAR年到MAX_YEAR年

month – 代表的月份,从1月1日(1月)到12日(12月)

dayOfMonth – 表示从 1 到 31 的月份中的某天

       LocalDate localDate = LocalDate.of(2023,6,5);       System.out.println(localDate);//2023-06-05

5、LocalDate ofYearDay(int year, int dayOfYear)

从一年和一年中的某天获取实例 LocalDate
year – 代表年份,从MIN_YEAR年到MAX_YEAR年

dayOfYear – 代表一年中的一天,从 1 到 366

注意:如果任何字段的值超出范围,或者如果一年中的某一天对年份无效

        LocalDate localDate = LocalDate.ofYearDay(2023 ,32);        System.out.println(localDate);//2023-02-01

6、LocalDate parse(CharSequence text)

从文本字符串(如 2007-12-03)中获取 的LocalDate实例

        LocalDate a = LocalDate.parse("2023-06-06");        System.out.println(a); // 2023-06-06

7、boolean isSupported(TemporalUnit unit)

检查是否支持指定的单位。
这将检查是否可以在此日期中添加或减去指定的单位

        LocalDate a = LocalDate.of(2023,6,6);        boolean supported = a.isSupported(ChronoUnit.DAYS);        System.out.println(supported); // true

8、int getYear()

获取年份字段

        LocalDate a = LocalDate.of(2023,6,6);        int year = a.getYear();        System.out.println(year); // 2023

9、int getMonthValue()

获取从 1 到 12 的月份字段

        LocalDate a = LocalDate.of(2023,6,6);        int month = a.getMonthValue();        System.out.println(month); // 6

10、int getDayOfMonth()

获取月份中的某天字段

        LocalDate a = LocalDate.of(2023,6,6);        int day = a.getDayOfMonth();        System.out.println(day); // 6

11、int getDayOfYear()

获取一年中的某天字段,

返回:一年中的某一天,从 1 到 365,或闰年为 366,也就是当年当月当日的天数

        LocalDate now = LocalDate.of(2023,6,5);        int localDate = now.getDayOfYear();        System.out.println(localDate); // 156

12、DayOfWeek getDayOfWeek()

获取星期字段,这是一个枚举 DayOfWeek

        LocalDate a = LocalDate.of(2023,6,6);        DayOfWeek week = a.getDayOfWeek();        System.out.println(week); // TUESDAY

13、boolean isLeapYear()

检查年份是否为闰年

        LocalDate now = LocalDate.of(1904,6,5);        Boolean localDate = now.isLeapYear();        System.out.println(localDate); // true 

14、int lengthOfMonth()

返回月份有多少天

        LocalDate now = LocalDate.of(2023,6,5);        int localDate = now.lengthOfMonth();        System.out.println(localDate); // 30 

15、int lengthOfYear()

返回年份有多少天

        LocalDate now = LocalDate.of(2023,6,5);        int localDate = now.lengthOfYear();        System.out.println(localDate); // 365

 16、LocalDate with(TemporalAdjuster adjuster)

返回此日期的调整副本

例如,此代码返回 7 月最后一天的日期

        LocalDate now = LocalDate.of(2023,7,5);        LocalDate localDate = now.with(lastDayOfMonth());        System.out.println(localDate); // 2023-07-31

17、LocalDate withYear(int year)

返回更改 LocalDate 年份的副本。
如果月份中的某天对年份无效,它将更改为该月的最后一个有效日期。

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.withYear(2024);        System.out.println(localDate); // 2024-02-28

18、LocalDate withMonth(int month)

返回更改 LocalDate 月份的副本。

如果月份中的某天对年份无效,它将更改为该月的最后一个有效日期。

参数:
month – 结果中设置的月份,从 1 日(1 月)到 12 日(12 月)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.withMonth(5);        System.out.println(localDate); // 2023-05-28

19、LocalDate withDayOfMonth(int dayOfMonth)

返回更改 LocalDate 月份中的某天的副本。
如果生成的日期无效,则会引发异常

参数:
dayOfMonth – 结果中设置的月份日期,从 1 到 28-31

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.withDayOfMonth(5);        System.out.println(localDate); // 2023-02-05

20、LocalDate withDayOfYear(int dayOfYear)

返回更改 LocalDate 了一年中的某一天的副本。
如果生成的日期无效,则会引发异常

参数:
dayOfYear – 结果中设置的日期,从 1 到 365-366

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.withDayOfYear(20);        System.out.println(localDate); // 2023-01-20

21、LocalDate plusYears(long yearsToAdd)

返回添加 LocalDate 指定年数

参数:
yearsToAdd – 要添加的年份,可能是负数(如果是正数则增加年份,是负数则减年份)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.plusYears(2);        System.out.println(localDate); // 2025-02-28

22、LocalDate plusMonths(long monthsToAdd)

返回添加 LocalDate 指定月数

参数:
monthsToAdd – 要添加的月份,可能是负数(如果是正数则增加月数,是负数则减月数)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.plusMonths(-2);        System.out.println(localDate); // 2022-12-28

23、LocalDate plusWeeks(long weeksToAdd)

返回添加了 LocalDate 指定周数,可能是负数(如果是正数则增加周数,是负数则减周数)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.plusWeeks(1);        System.out.println(localDate); // 2023-03-07

24、LocalDate plusDays(long daysToAdd)

返回添加 LocalDate 指定天数

参数:
daysToAdd – 添加的天数,可能是负数(如果是正数则增加天数,是负数则减天数)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.plusDays(10);        System.out.println(localDate); // 2023-03-10

25、LocalDate minusYears(long yearsToSubtract)

返回此 LocalDate 副本,并减去指定的年数

参数:
yearsToSubtract –减去的年份,可能是负数(如果是正数则减去年份,负数则增加年份)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.minusYears(2);        System.out.println(localDate); // 2021-02-28

26、LocalDate minusMonths(long monthsToSubtract)

返回此 LocalDate 副本,并减去指定的月数

参数:
monthsToSubtract–减去的月份,可能是负数(如果是正数则减去月份,负数则增加月份)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.minusMonths(2);        System.out.println(localDate); // 2022-12-28

27、LocalDate minusWeeks(long weeksToSubtract)

返回此 LocalDate 副本,并减去指定的周数

参数:
weeksToSubtract–减去的周数,可能是负数(如果是正数则减去周数,负数则增加周数)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.minusWeeks(1);        System.out.println(localDate); // 2023-02-21

28、LocalDate minusDays(long daysToSubtract)

返回此 LocalDate 副本,并减去指定的天数

参数:
daysToSubtract–减去的天数,可能是负数(如果是正数则减去天数,负数则增加天数)

        LocalDate now = LocalDate.of(2023,2,28);        LocalDate localDate = now.minusDays(-2);        System.out.println(localDate); // 2023-03-02

29、long until(Temporal endExclusive, TemporalUnit unit)

根据指定单位计算到另一个日期的时间量

例如,2023-2-28 和 2024-2-28 之间的月份

除了月份:支持YEARS、DAYS、WEEKS、DECADES、CENTURIES、MILLENNIA、ERAS

import java.time.LocalDate;import java.time.temporal.ChronoUnit;public class lll {    public static void main(String[] args) {        //开始日期到结束日期相差的月份        LocalDate star = LocalDate.of(2023,2,28);        LocalDate end = LocalDate.of(2024,2,28);        // 方式一        Long localDate = star.until(end, ChronoUnit.MONTHS);        // 方式二        long between = ChronoUnit.MONTHS.between(star, end);        System.out.println(localDate); // 12        System.out.println(between); // 12    }}

30、String format(DateTimeFormatter formatter)

使用指定的格式化程序设置此日期的格式。
此日期将传递给格式化程序以生成字符串

        LocalDate now = LocalDate.of(2023,2,28);        String localDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));        System.out.println(localDate); // 2023-02-28

31、LocalDateTime atTime(LocalTime time)

将此日期与时间组合以创建 LocalDateTime.
这将返回 LocalDateTime 从此日期在指定时间形成的。日期和时间的所有可能组合均有效

        LocalDate now = LocalDate.of(2023,2,28);        LocalDateTime localDate = now.atTime(LocalTime.of(12,5,6));        System.out.println(localDate); // 2023-02-28T12:05:06

32、LocalDateTime atTime(int hour, int minute, int second)

将此日期与时间组合以创建 LocalDateTime.
这将返回 LocalDateTime 从此日期开始在指定的小时、分钟和秒处形成的。纳秒字段将设置为零。各个时间字段必须在其有效范围内。日期和时间的所有可能组合均有效。

参数:
hour – 要使用的小时,从 0 到 23 minute – 使用的小时分钟数,从 0 到 59 second – 表示的分钟秒,从 0 到 59

        LocalDate now = LocalDate.of(2023,2,28);        LocalDateTime localDate = now.atTime(12,5,6);        System.out.println(localDate); // 2023-02-28T12:05:06

33、int compareTo(ChronoLocalDate other)

将此日期与另一个日期进行比较。

返回:
比较器值,如果较小则为负值,如果较大则为正值

        LocalDate now = LocalDate.of(2023,1,28);        LocalDate now1 = LocalDate.of(2023,2,28);        int localDate = now.compareTo(now1);        System.out.println(localDate); // -1

34、boolean isAfter(ChronoLocalDate other)

检查此日期是否晚于指定日期

返回:
如果此日期晚于指定日期,则为 true

        LocalDate a = LocalDate.of(2023, 6, 30);        LocalDate b = LocalDate.of(2023, 7, 1);        boolean after = a.isAfter(b);         boolean after1 = a.isAfter(a);        boolean after2 = b.isAfter(a);        System.out.println(after); // false        System.out.println(after1); // false        System.out.println(after2); // true

35、boolean isBefore(ChronoLocalDate other)

检查此日期是否早于指定日期

返回:
如果此日期早于指定日期,则为 true

        LocalDate a = LocalDate.of(2023, 6, 30);        LocalDate b = LocalDate.of(2023, 7, 1);        boolean before = a.isBefore(b);        boolean before1 = a.isBefore(a);        boolean before2 = b.isBefore(a);        System.out.println(before); // true        System.out.println(before1); // false        System.out.println(before2); // false

36、boolean isEqual(ChronoLocalDate other)

检查此日期是否等于指定日期

返回:
如果此日期等于指定日期,则为 true

        LocalDate a = LocalDate.of(2023, 6, 30);        LocalDate b = LocalDate.of(2023, 7, 1);        boolean equal = a.isEqual(b);        boolean equal1 = a.isEqual(a);        boolean equal12 = b.isEqual(a);        System.out.println(equal); // false        System.out.println(equal1); // true        System.out.println(equal12); // false

37、boolean equals(Object obj)

检查此日期是否等于另一个日期。
将此与 LocalDate 另一个进行比较,确保日期相同

返回:
如果此日期等于其他日期,则为 true,仅比较类型的 LocalDate 对象,其他类型返回 false

        LocalDate a = LocalDate.of(2023, 6, 30);        LocalDate b = LocalDate.of(2023, 7, 1);        boolean equal = a.equals(b);        boolean equal1 = a.equals(a);        boolean equal12 = b.equals(a);        System.out.println(equal); // false        System.out.println(equal1); // true        System.out.println(equal12); // false

38、String toString()

将此日期输出为 String,例如 2007-12-03。
输出将采用 ISO-8601 格式 uuuu-MM-dd

        LocalDate a = LocalDate.of(2023, 6, 30);        String equal = a.toString();        System.out.println(equal); // 2023-06-30

39、int hashCode()

此日期的哈希代码。
返回:
合适的哈希码

        LocalDate a = LocalDate.of(2023, 6, 30);        int equal = a.hashCode();        System.out.println(equal); // 4143518

来源地址:https://blog.csdn.net/SUMMERENT/article/details/131049127

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯