Class TemporalAdjusters
java.lang.Object
cloud.opencode.base.date.adjuster.TemporalAdjusters
Temporal Adjusters - Extended temporal adjusters for business use cases
时间调整器 - 用于业务场景的扩展时间调整器
Provides additional temporal adjusters beyond JDK's TemporalAdjusters, focused on business and common use cases.
提供比JDK的TemporalAdjusters更多的时间调整器,专注于业务和常见用例。
Features | 主要功能:
- Quarter adjusters - 季度调整器
- Half-year adjusters - 半年调整器
- Week adjusters (configurable first day) - 周调整器(可配置首日)
- Business/workday adjusters - 工作日调整器
- Time of day adjusters - 日内时间调整器
- Composite adjusters - 组合调整器
Usage Examples | 使用示例:
LocalDate date = LocalDate.of(2024, 3, 15);
// Quarter adjusters
LocalDate quarterStart = date.with(TemporalAdjusters.firstDayOfQuarter()); // 1月1日
LocalDate quarterEnd = date.with(TemporalAdjusters.lastDayOfQuarter()); // 3月31日
// Workday adjusters
LocalDate nextWorkday = date.with(TemporalAdjusters.nextWorkday());
LocalDate plus5Workdays = date.with(TemporalAdjusters.plusWorkdays(5));
// Time adjusters
LocalDateTime dayStart = dateTime.with(TemporalAdjusters.startOfDay()); // 00:00:00
LocalDateTime dayEnd = dateTime.with(TemporalAdjusters.endOfDay()); // 23:59:59.999999999
// Composite adjusters
TemporalAdjuster combined = TemporalAdjusters.compose(
TemporalAdjusters.firstDayOfNextMonth(),
TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY)
);
Security | 安全性:
- Thread-safe: Yes - 线程安全: 是
- Null-safe: Yes (with explicit null checks on compose/andThen) - 空值安全: 是(compose/andThen有明确的空值检查)
- Since:
- JDK 25, opencode-base-date V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic TemporalAdjusterandThen(TemporalAdjuster first, TemporalAdjuster second) Returns an adjuster that applies first adjuster then second.static TemporalAdjusteratHour(int hour) Returns an adjuster to specific hour.static TemporalAdjustercompose(TemporalAdjuster... adjusters) Composes multiple adjusters into one.static TemporalAdjusterdayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek) Returns the nth day of week in month adjuster.static TemporalAdjusterendOfDay()Returns the end of day adjuster (23:59:59.999999999).static TemporalAdjusterReturns the first day of half-year adjuster.static TemporalAdjusterReturns the first day of month adjuster.static TemporalAdjusterReturns the first day of next month adjuster.static TemporalAdjusterReturns the first day of next quarter adjuster.static TemporalAdjusterReturns the first day of next year adjuster.static TemporalAdjusterReturns the first day of quarter adjuster.static TemporalAdjusterReturns the first day of week adjuster (Monday).static TemporalAdjusterfirstDayOfWeek(DayOfWeek firstDayOfWeek) Returns the first day of week adjuster for specific first day.static TemporalAdjusterReturns the first day of year adjuster.static TemporalAdjusterReturns the last day of half-year adjuster.static TemporalAdjusterReturns the last day of month adjuster.static TemporalAdjusterReturns the last day of quarter adjuster.static TemporalAdjusterReturns the last day of week adjuster (Sunday).static TemporalAdjusterlastDayOfWeek(DayOfWeek lastDayOfWeek) Returns the last day of week adjuster for specific last day.static TemporalAdjusterReturns the last day of year adjuster.static TemporalAdjusterminusWorkdays(int days) Returns an adjuster that subtracts workdays.static TemporalAdjusterReturns the next day of week adjuster.static TemporalAdjusternextOrSame(DayOfWeek dayOfWeek) Returns the next or same day of week adjuster.static TemporalAdjusterReturns the next or same workday adjuster.static TemporalAdjusterReturns the next workday adjuster (skips weekends).static TemporalAdjusternoon()Returns the noon adjuster (12:00:00).static TemporalAdjusterof(TemporalAdjuster adjuster) Creates adjuster from lambda.static TemporalAdjusterplusWorkdays(int days) Returns an adjuster that adds workdays.static TemporalAdjusterReturns the previous day of week adjuster.static TemporalAdjusterpreviousOrSame(DayOfWeek dayOfWeek) Returns the previous or same day of week adjuster.static TemporalAdjusterReturns the previous workday adjuster (skips weekends).static TemporalAdjusterReturns the start of day adjuster (00:00:00.000000000).
-
Method Details
-
firstDayOfMonth
Returns the first day of month adjuster. 返回月初调整器。- Returns:
- the adjuster | 调整器
-
lastDayOfMonth
Returns the last day of month adjuster. 返回月末调整器。- Returns:
- the adjuster | 调整器
-
firstDayOfNextMonth
Returns the first day of next month adjuster. 返回下月初调整器。- Returns:
- the adjuster | 调整器
-
firstDayOfYear
Returns the first day of year adjuster. 返回年初调整器。- Returns:
- the adjuster | 调整器
-
lastDayOfYear
Returns the last day of year adjuster. 返回年末调整器。- Returns:
- the adjuster | 调整器
-
firstDayOfNextYear
Returns the first day of next year adjuster. 返回下年初调整器。- Returns:
- the adjuster | 调整器
-
next
Returns the next day of week adjuster. 返回下一个周几调整器。- Parameters:
dayOfWeek- the day of week | 周几- Returns:
- the adjuster | 调整器
-
nextOrSame
Returns the next or same day of week adjuster. 返回下一个或相同周几调整器。- Parameters:
dayOfWeek- the day of week | 周几- Returns:
- the adjuster | 调整器
-
previous
Returns the previous day of week adjuster. 返回上一个周几调整器。- Parameters:
dayOfWeek- the day of week | 周几- Returns:
- the adjuster | 调整器
-
previousOrSame
Returns the previous or same day of week adjuster. 返回上一个或相同周几调整器。- Parameters:
dayOfWeek- the day of week | 周几- Returns:
- the adjuster | 调整器
-
dayOfWeekInMonth
Returns the nth day of week in month adjuster. 返回月内第N个周几调整器。- Parameters:
ordinal- the ordinal (1-5) | 序数(1-5)dayOfWeek- the day of week | 周几- Returns:
- the adjuster | 调整器
-
firstDayOfQuarter
Returns the first day of quarter adjuster. 返回季度首日调整器。- Returns:
- the adjuster | 调整器
-
lastDayOfQuarter
Returns the last day of quarter adjuster. 返回季度末日调整器。- Returns:
- the adjuster | 调整器
-
firstDayOfNextQuarter
Returns the first day of next quarter adjuster. 返回下季度首日调整器。- Returns:
- the adjuster | 调整器
-
firstDayOfHalf
Returns the first day of half-year adjuster. 返回半年首日调整器。- Returns:
- the adjuster | 调整器
-
lastDayOfHalf
Returns the last day of half-year adjuster. 返回半年末日调整器。- Returns:
- the adjuster | 调整器
-
firstDayOfWeek
Returns the first day of week adjuster (Monday). 返回周首日调整器(周一)。- Returns:
- the adjuster | 调整器
-
firstDayOfWeek
Returns the first day of week adjuster for specific first day. 返回指定首日的周首日调整器。- Parameters:
firstDayOfWeek- the first day of week | 周首日- Returns:
- the adjuster | 调整器
-
lastDayOfWeek
Returns the last day of week adjuster (Sunday). 返回周末日调整器(周日)。- Returns:
- the adjuster | 调整器
-
lastDayOfWeek
Returns the last day of week adjuster for specific last day. 返回指定末日的周末日调整器。- Parameters:
lastDayOfWeek- the last day of week | 周末日- Returns:
- the adjuster | 调整器
-
nextWorkday
Returns the next workday adjuster (skips weekends). 返回下一个工作日调整器(跳过周末)。- Returns:
- the adjuster | 调整器
-
previousWorkday
Returns the previous workday adjuster (skips weekends). 返回上一个工作日调整器(跳过周末)。- Returns:
- the adjuster | 调整器
-
nextOrSameWorkday
Returns the next or same workday adjuster. 返回下一个或相同工作日调整器。- Returns:
- the adjuster | 调整器
-
plusWorkdays
Returns an adjuster that adds workdays. 返回添加工作日的调整器。- Parameters:
days- number of workdays to add | 要添加的工作日数- Returns:
- the adjuster | 调整器
-
minusWorkdays
Returns an adjuster that subtracts workdays. 返回减去工作日的调整器。- Parameters:
days- number of workdays to subtract | 要减去的工作日数- Returns:
- the adjuster | 调整器
-
startOfDay
Returns the start of day adjuster (00:00:00.000000000). 返回日初调整器(00:00:00.000000000)。- Returns:
- the adjuster | 调整器
-
endOfDay
Returns the end of day adjuster (23:59:59.999999999). 返回日末调整器(23:59:59.999999999)。- Returns:
- the adjuster | 调整器
-
noon
Returns the noon adjuster (12:00:00). 返回正午调整器(12:00:00)。- Returns:
- the adjuster | 调整器
-
atHour
Returns an adjuster to specific hour. 返回指定小时调整器。- Parameters:
hour- the hour (0-23) | 小时(0-23)- Returns:
- the adjuster | 调整器
-
compose
Composes multiple adjusters into one. 将多个调整器组合成一个。- Parameters:
adjusters- the adjusters to compose | 要组合的调整器- Returns:
- the composite adjuster | 组合调整器
-
andThen
Returns an adjuster that applies first adjuster then second. 返回先应用第一个调整器再应用第二个的调整器。- Parameters:
first- the first adjuster | 第一个调整器second- the second adjuster | 第二个调整器- Returns:
- the composite adjuster | 组合调整器
-
of
Creates adjuster from lambda. 从lambda创建调整器。- Parameters:
adjuster- the adjuster function | 调整器函数- Returns:
- the adjuster | 调整器
-