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 的一些常用方法,你可以根据自己的需求选择合适的方法来处理日期时间调整。

实例代码
import java.time.LocalDate; // 导入 LocalDate 类
import java.time.temporal.TemporalAdjusters; // 导入 TemporalAdjusters 类

/**
 * <p>
 * 日期测试类
 * </p>
 *
 * @author snogzixian
 * @Url 宋子宪博客 www.songzixian.com
 * @since 2023-03-15
 */
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() 方法输出开始日期和结束日期。

Last modification:March 16, 2023
如果觉得这篇技术文章对你有用,请随意赞赏