前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java8实现获取上个月某个日期和当前月份某个日期

Java8实现获取上个月某个日期和当前月份某个日期

原创
作者头像
Thinker1024
发布2023-09-28 21:09:04
1K0
发布2023-09-28 21:09:04
举报
文章被收录于专栏:编程语言的世界
LocalDate常用API

LocalDate 是 Java 8 中处理日期的一个类,它提供了许多常用的方法,以下是其中一些常见的方法:

  1. now():返回当前日期。
  2. of(int year, int month, int dayOfMonth):根据年、月、日创建一个 LocalDate 对象。
  3. getYear():返回年份。
  4. getMonth():返回月份。
  5. getDayOfMonth():返回月份中的天数。
  6. getDayOfWeek():返回星期几。
  7. plusDays(long daysToAdd):将当前日期加上指定的天数,并返回一个新的 LocalDate 对象。
  8. plusMonths(long monthsToAdd):将当前日期加上指定的月份数,并返回一个新的 LocalDate 对象。
  9. plusYears(long yearsToAdd):将当前日期加上指定的年数,并返回一个新的 LocalDate 对象。
  10. minusDays(long daysToSubtract):将当前日期减去指定的天数,并返回一个新的 LocalDate 对象。
  11. minusMonths(long monthsToSubtract):将当前日期减去指定的月份数,并返回一个新的 LocalDate 对象。
  12. minusYears(long yearsToSubtract):将当前日期减去指定的年数,并返回一个新的 LocalDate 对象。
TemporalAdjusters常用API

TemporalAdjusters 是 Java 8 中处理日期时间调整的一个工具类,它提供了许多常用的方法,以下是其中一些常见的方法:

  1. firstDayOfMonth():返回当月的第一天。
  2. lastDayOfMonth():返回当月的最后一天。
  3. firstDayOfNextMonth():返回下个月的第一天。
  4. firstDayOfYear():返回当年的第一天。
  5. lastDayOfYear():返回当年的最后一天。
  6. firstDayOfNextYear():返回下一年的第一天。
  7. dayOfWeekInMonth():返回当月的第几个星期几,例如第二个星期五。
  8. next(DayOfWeek dayOfWeek):返回下一个指定星期几的日期。
  9. previous(DayOfWeek dayOfWeek):返回上一个指定星期几的日期。
  10. nextOrSame(DayOfWeek dayOfWeek):返回下一个指定星期几的日期,如果指定的日期已经是这个星期几,则返回这个日期。
  11. previousOrSame(DayOfWeek dayOfWeek):返回上一个指定星期几的日期,如果指定的日期已经是这个星期几,则返回这个日期。

以上是 TemporalAdjusters 的一些常用方法,你可以根据自己的需求选择合适的方法来处理日期时间调整。

实例代码
代码语言:javascript
复制
import java.time.LocalDate; // 导入 LocalDate 类
import java.time.temporal.TemporalAdjusters; // 导入 TemporalAdjusters 类

/**
 * <p>
 * 日期测试类
 * </p>
 */
public class TestLocalDate {
    public static void main(String[] args) {
        LocalDate now = LocalDate.now(); // 获取当前日期
        LocalDate start = now.with(TemporalAdjusters.firstDayOfMonth()) // 获取本月第一天
                .plusDays(10) // 加上 10 天,即本月 11 号
                .minusMonths(1); // 减去一个月,即上个月 11 号
        LocalDate end = now.with(TemporalAdjusters.firstDayOfMonth()) // 获取本月第一天
                .plusDays(13); // 加上 13 天,即本月 14 号
        System.out.println("Start date: " + start); // 输出开始日期
        System.out.println("End date: " + end); // 输出结束日期
    }
}
代码解析说明

首先,我们导入了 LocalDateTemporalAdjusters 两个类,分别用于处理日期和时间调整。

然后,在 main 方法中,我们使用 LocalDate.now() 方法获取当前日期,并将其赋值给 now 变量。

接着,我们使用 now.with(TemporalAdjusters.firstDayOfMonth()) 获取本月的第一天,即本月的 1 号。然后,我们使用 .plusDays(10) 方法将日期加上 10 天,即本月的 11 号;再使用 .minusMonths(1) 方法将日期减去一个月,即上个月的 11 号,最后将其赋值给 start 变量。

同样地,我们使用 now.with(TemporalAdjusters.firstDayOfMonth()) 获取本月的第一天,然后使用 .plusDays(13) 方法将日期加上 13 天,即本月的 14 号,将其赋值给 end 变量。

最后,我们使用 System.out.println() 方法输出开始日期和结束日期。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LocalDate常用API
  • TemporalAdjusters常用API
  • 实例代码
  • 代码解析说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档