java - 使用时间 API 获取下个月的特定日期

标签 java java-time localdate date

我需要使用 java.time API 查找下个月第二个星期日的日期。我是时间 API 的新手。我试过这段代码:

LocalDate current=LocalDate.now();

这是给我当前的日期,但是 LocalDate 没有任何这样的方法可以让我获得 nextMonth 或类似的东西。请建议。我只需要使用时间 API。

最佳答案

这可以使用 TemporalAdjuster 来完成,如下所示:

LocalDateTime now = LocalDateTime.now();
System.out.println("First day of next month: " + now.with(TemporalAdjusters.firstDayOfNextMonth()));
System.out.println("First Friday in month: " + now.with(TemporalAdjusters.firstInMonth(DayOfWeek.FRIDAY)));

// Custom temporal adjusters.
TemporalAdjuster secondSundayOfNextMonth = temporal -> {
    LocalDate date = LocalDate.from(temporal).plusMonths(1);
    date = date.with(TemporalAdjusters.dayOfWeekInMonth(2, DayOfWeek.SUNDAY));
    return temporal.with(date);
};
System.out.println("Second sunday of next month: " + now.with(secondSundayOfNextMonth));

关于java - 使用时间 API 获取下个月的特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51550365/

相关文章:

java - 将 pdf/excel 文件动态传输到 Flex UI 应用程序

java - 如何为多对多关联编写 HQL 查询?

java - 如果我在项目中使用的库已停止使用,会发生什么情况,我的应用程序会崩溃吗?

java - 如何使用默认时区偏移量将 Java ZonedDateTime 转换为 OffsetDateTime?

java - LocalTime.MIDNIGHT 与 LocalTime.MIN - 有什么区别吗?

java - 日期时间解析异常;无法在索引 4 处解析文本 '2018-10-18 00:00:00'

kotlin - 将 period 添加到 startDate 不会产生 endDate

java - MPJ Java 多核配置还是共享内存?

java - 在 Java 中解析日期时间字符串是否需要 `Locale`?

java - TZupdater 因 tzdata2016g 版本而失败