java中LocalDate类

2024-04-22 15:36
文章标签 java localdate

本文主要是介绍java中LocalDate类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 前言
    • 概要
    • 实例代码

前言

Java 8中,引入了新的日期时间API,其中包括 LocalDate、LocalTime 和 LocalDateTime 这三个类,用于处理日期和时间,解决了旧的java.util.Date 和 java.util.Calendar 类的一些问题,使日期时间处理更加简单、清晰和灵活。

概要

特点

不可变性: LocalDate 实例是不可变的,一旦创建,其值不可更改,这意味着每个 LocalDate 对象表示一个确定的日期,不会发生变化。
ISO-8601 标准: LocalDate 类表示的日期遵循 ISO-8601 标准,即使用年-月-日的格式,例如:2024-04-22。

主要功能
创建实例: 可以使用 of() 静态方法、解析日期字符串、或者通过 now() 方法获取当前日期来创建 LocalDate 实例。
获取日期组件: 可以使用 getYear()、getMonthValue()、getDayOfMonth() 等方法获取年、月、日等日期组件。
日期操作: 提供了丰富的方法来进行日期操作,如加减天数、月数、年数等。
日期比较: 可以使用 isEqual()、isBefore()、isAfter() 等方法比较两个 LocalDate 实例的大小关系。
格式化和解析: 提供了 toString() 方法来将日期格式化为字符串,也可以使用 parse() 方法将字符串解析为 LocalDate 对象。

实例代码

例 1: 创建 LocalDate 实例

// 使用当前日期
LocalDate currentDate = LocalDate.now();
System.out.println("当前日期:" + currentDate);// 使用指定年月日创建
LocalDate specificDate = LocalDate.of(2024, 4, 22);
System.out.println("指定日期:" + specificDate);// 解析日期字符串创建
LocalDate parsedDate = LocalDate.parse("2024-04-22");
System.out.println("解析日期:" + parsedDate);

例 2: 获取日期组件

int year = specificDate.getYear();
int month = specificDate.getMonthValue();
int day = specificDate.getDayOfMonth();System.out.println("年:" + year);
System.out.println("月:" + month);
System.out.println("日:" + day);

例3

 public static void main(String[] args) {LocalDate day = LocalDate.of(2024, 4, 22);//获取这月第一天LocalDate firstDay = day.with(TemporalAdjusters.firstDayOfMonth());System.out.println(firstDay); //2024-04-01//获取这月第二天System.out.println(day.withDayOfMonth(2));//2024-04-02//获取2024年4月 的第一个周一的日期LocalDate date = day.with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));System.out.println(date);// //2024-04-01}

with 是Temporal 接口中定义的一个方法,用于返回调整后的日期或时间对象

TemporalAdjusters 是 Java 中的一个工具类,提供了一组预定义的调整器,用于修改日期和时间对象。这些调整器允许您执行各种日期调整操作,例如查找月份的第一天或最后一天、一年的第一天或最后一天、一个月的最后一个星期三,或特定日期之后的第一个星期二等。

以下是 TemporalAdjusters 类中一些常用的静态方法:
firstDayOfMonth():返回一个调整器,将日期设置为所在月份的第一天。
lastDayOfMonth():返回一个调整器,将日期设置为所在月份的最后一天。
firstDayOfYear():返回一个调整器,将日期设置为所在年份的第一天。
lastDayOfYear():返回一个调整器,将日期设置为所在年份的最后一天。
firstInMonth(DayOfWeek dayOfWeek):返回一个调整器,将日期设置为所在月份中的第一个指定星期几(例如“每月第一个星期三”)。
lastInMonth(DayOfWeek dayOfWeek):返回一个调整器,将日期设置为所在月份中的最后一个指定星期几(例如“每月最后一个星期三”)。
dayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek):返回一个调整器,将日期设置为所在月份中的指定星期几(例如“每月第二个星期六”)。

这篇关于java中LocalDate类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926161

相关文章

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

Java中Integer128陷阱

《Java中Integer128陷阱》本文主要介绍了Java中Integer与int的区别及装箱拆箱机制,重点指出-128至127范围内的Integer值会复用缓存对象,导致==比较结果为true,下... 目录一、Integer和int的联系1.1 Integer和int的区别1.2 Integer和in

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.