当前位置:网站首页 > Java基础 > 正文

java date工具类(java中date类的用法)



是Java 8引入的日期类之一,位于包中,它提供了一种简单的方式来表示日期,不包括时间和时区信息。下面我门来解释一下他的各种用法。

表示一个年份、月份和日期的日期,其一般形式为:yyyy-MM-dd。例如:2023-10-11。是不可变的,一旦创建,就不能更改它的值。如果需要修改日期,可以创建一个新的对象。

其输出结果为:

当前日期为:2023-10-11

其输出结果为:(如果想要获取以int形式的月份可以使用:int monthValue = currentDate.getMonthValue();)

年份: 2023
月份: OCTOBER
日: 11

可以使用来创建一个特定的日期对象

其输出结果为:

当前日期为:2023-10-22

除了使用 LocalDate.of来创造一个特定的日期对象外,我们还可以将一个格式标准的String对象转化为LocalData对象:LocalDate.parse ,用于将字符串表示的日期解析为  对象。它允许你将字符串日期按照指定的日期格式转换为日期对象,以便后续操作或显示。

其输出结果为:(需要注意的是:你规定的日期格式应为:yyyy-MM-dd,你不可以写2023-1-06,否则会抛出:java.time.format.DateTimeParseException:异常)

当前日期为:2023-01-06

将字符串日期转化为LocalData对象的场景多用于读取文件中的日期,在做业务的时候经常会从Excel、Word或者图像识别的发票等等数据中读取到日期,有的时候这些日期可不会是规范的形式,那么该如何解决?假如说现在传递的日期就是:2023-1-6,我们怎么转化为LocalData对象呢?答案还是使用我们的DateTimeFormatter formatter,格式化日期,只需要将值设为yyyy-M-d即可读取,并且如果需要的话还可以补零。

其输出结果为:

1.plusYears(long years), minusYears(long years):增加或减少指定年数。

2.plusMonths(long months), minusMonths(long months):增加或减少指定月数。

3.plusWeeks(long weeks), minusWeeks(long weeks):增加或减少指定周数。

4.plusDays(long days), minusDays(long days):增加或减少指定天数。(函数形式一样,所以月周天不做代码展示了)

5.除了对年月周日单独操作外,我们还可以进行统一的操作,比如增加一年零三个月(plus为增,minus为减)

是 Java 8 中的一个实用工具类,它提供了一些内置的、用于日期时间调整的工具方法。这些方法允许你进行复杂的日期时间调整操作,如获取某月的第一天、获取下一个星期一、获取年底最后一天等。 中的方法返回  对象,这是一个函数式接口,用于在  框架中进行日期时间的调整。

以下是一些常见的  方法及其功能:

firstDayOfMonth():返回指定日期所在月份的第一天。

lastDayOfMonth():返回指定日期所在月份的最后一天。

firstDayOfNextMonth():返回指定日期下个月的第一天。

firstDayOfNextYear():返回指定日期下一年的第一天。

next(DayOfWeek dayOfWeek):返回指定日期之后的下一个星期几。例如, 返回下一个星期一。

previous(DayOfWeek dayOfWeek):返回指定日期之前的上一个星期几。

nextOrSame(DayOfWeek dayOfWeek):返回指定日期,如果它是指定星期几,则返回它本身,否则返回下一个指定星期几。

previousOrSame(DayOfWeek dayOfWeek):返回指定日期,如果它是指定星期几,则返回它本身,否则返回上一个指定星期几。

firstInMonth(DayOfWeek dayOfWeek):返回指定日期所在月份的第一个指定星期几。

lastInMonth(DayOfWeek dayOfWeek):返回指定日期所在月份的最后一个指定星期几。

dayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek):返回指定日期所在月份的第  个指定星期几。例如, 返回指定日期所在月份的第二个星期三。

firstDayOfYear():返回指定日期所在年份的第一天。

lastDayOfYear():返回指定日期所在年份的最后一天。

equals() 方法用于检查两个 LocalDate 对象是否表示相同的日期。如果两个对象表示相同的日期,equals() 方法将返回 true,否则返回 false。

isBefore() 方法用于检查一个 LocalDate 是否在另一个 LocalDate 之前。如果第一个日期在第二个日期之前,该方法返回 true,否则返回 false。

isAfter() 方法用于检查一个 LocalDate 是否在另一个 LocalDate 之后。如果第一个日期在第二个日期之后,该方法返回 true,否则返回 false。

compareTo() 方法用于将两个 LocalDate 对象进行比较,并返回一个整数值。如果第一个日期在第二个日期之前,返回负数;如果两个日期相同,返回零;如果第一个日期在第二个日期之后,返回正数。

这个示例将展示如何使用LocalDate来计算一个人的年龄。假设当前日期是2021年7月31日,我们想计算一个人1995年10月24日出生时的年龄。下面是实现方法的代码,其中代码块中的“xxxx-xx-xx”部分需要替换成具体的年月日:

输出结果为:

Age: 25

这个示例将展示如何使用LocalDate来计算一个人的年龄。假设当前日期是2021年7月31日,我们有一个包含生日的字符串“1995-10-24”,我们想计算这个人的年龄。下面是实现方法的代码:

输出结果为:

Age: 25

到此这篇关于JAVA中日期LocalDate类详细用法讲解的文章就介绍到这了,更多相关JAVA日期LocalDate类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

到此这篇java date工具类(java中date类的用法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 跨域解决方案java(跨域解决方案cors)2025-03-25 08:00:09
  • Java字符串转大写(java 字符转大写)2025-03-25 08:00:09
  • java教学平台(java教学网站)2025-03-25 08:00:09
  • java和爬虫哪个有优势(java爬虫的优缺点)2025-03-25 08:00:09
  • 学java去哪个网站(java去哪里学比较好)2025-03-25 08:00:09
  • jvm内存模型面试题(javajvm内存模型)2025-03-25 08:00:09
  • 将字符串map的字符顺序倒转为pam(java字符串转map集合)2025-03-25 08:00:09
  • java基础教学网站(java基础教学免费视频)2025-03-25 08:00:09
  • javaspring用什么软件(spring javafx)2025-03-25 08:00:09
  • java阻塞队列有哪些(java阻塞队列线程安全吗)2025-03-25 08:00:09
  • 全屏图片