public final class TemporalAdjusters extends Object
算是对时空对象的关键工具。他们的存在使得调整的过程中,允许不同的方法,根据策略设计模式。例子可能是一个调节器,设置日期避免周末,或一个设置日期到月的最后一天。
有使用TemporalAdjuster
两等效方法。首先是直接调用接口的方法。二是用Temporal.with(TemporalAdjuster)
:
这两条线是等价的,但第二种方法是建议时间= thisadjuster adjustinto(时间);时间=(thisadjuster)与时间;建议使用第二种方法,
with(TemporalAdjuster)
,因为它是一个更清晰的读码。
该类包含一组标准的调节器,可以作为静态方法。这些措施包括:
TemporalAdjuster
Modifier and Type | Method and Description |
---|---|
static TemporalAdjuster |
dayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek)
返回一周的一天的调节器,它返回一个新的日期在同一个月内的序数日的一周。
|
static TemporalAdjuster |
firstDayOfMonth()
返回“月的第一天”调节器,该调节器将返回一个新的日期设置为本月的第一天。
|
static TemporalAdjuster |
firstDayOfNextMonth()
返回下个月的“第一天”调节器,它将返回一个新的日期设置为下个月的第一天。
|
static TemporalAdjuster |
firstDayOfNextYear()
返回“下一年的第一天”调节器,它将返回一个新的日期设置为下一年的第一天。
|
static TemporalAdjuster |
firstDayOfYear()
返回“年的第一天”调节器,该调节器将返回一个新的日期设置为当前年的第一天。
|
static TemporalAdjuster |
firstInMonth(DayOfWeek dayOfWeek)
返回第一个月的调节器,它返回一个新的日期在同一个月内的第一个匹配的一天。
|
static TemporalAdjuster |
lastDayOfMonth()
返回“每月最后一天”调节器,该调节器将返回一个新的日期设置为当前月份的最后一天。
|
static TemporalAdjuster |
lastDayOfYear()
返回“年的最后一天”调节器,该调节器返回一个新的日期设置为当前年的最后一天。
|
static TemporalAdjuster |
lastInMonth(DayOfWeek dayOfWeek)
返回最后一个月的调节器,它返回一个新的日期在同一个月内的最后一个匹配的一周。
|
static TemporalAdjuster |
next(DayOfWeek dayOfWeek)
返回第二天的周调节器,该调节器调整日期为调整后的第一周指定日期的第一次发生。
|
static TemporalAdjuster |
nextOrSame(DayOfWeek dayOfWeek)
返回下一个或同一天的周调节器,该调节器调整日期到第一次发生的指定日期的一周后,日期被调整,除非它已经在该情况下,相同的对象被返回。
|
static TemporalAdjuster |
ofDateAdjuster(UnaryOperator<LocalDate> dateBasedAdjuster)
获得
TemporalAdjuster 包装日期调整。
|
static TemporalAdjuster |
previous(DayOfWeek dayOfWeek)
返回前一天的周调节器,该调节器调整日期到第一次发生的指定日期前一周的日期调整。
|
static TemporalAdjuster |
previousOrSame(DayOfWeek dayOfWeek)
返回前一个或同一天的周调节器,该调节器调整日期到第一次发生的指定日期前一周的日期被调整,除非它已经在这个情况下,相同的对象被返回。
|
public static TemporalAdjuster ofDateAdjuster(UnaryOperator<LocalDate> dateBasedAdjuster)
TemporalAdjuster
包装日期调整。
的TemporalAdjuster
是基于低水平Temporal
接口。这种方法允许从LocalDate
调整LocalDate
是包匹配的接口时序。这是为了方便让用户编写的调节更简单。
在一般情况下,用户编写的调节应该是静态常量:
static TemporalAdjuster TWO_DAYS_LATER =
TemporalAdjusters.ofDateAdjuster(date -> date.plusDays(2));
dateBasedAdjuster
型调节器的日期,不为空
public static TemporalAdjuster firstDayOfMonth()
ISO的日历系统,表现为:
输入输入2011-02-15 2011-01-01.
2011年01月15日将返回将返回2011-02-01。
该行为适用于大多数日历系统的使用。它相当于:
时间与(day_of_month,1);
public static TemporalAdjuster lastDayOfMonth()
ISO的日历系统,表现为:
输入输入2011-02-15 2011-01-31.
2011年01月15日将返回将返回2011-02-28.
输入2012-02-15将返回2012-02-29(闰年)。
输入2011-04-15将返回2011-04-30。
该行为适用于大多数日历系统的使用。它相当于:
长天=时间范围(day_of_month getmaximum());时间,(day_of_month,最后一天);
public static TemporalAdjuster firstDayOfNextMonth()
ISO的日历系统,表现为:
输入输入2011-02-15 2011-02-01.
2011年01月15日将返回将返回2011-03-01。
该行为适用于大多数日历系统的使用。它相当于:
时间,(day_of_month,1)。加(1个月);
public static TemporalAdjuster firstDayOfYear()
ISO的日历系统,表现为:
输入输入2011-02-15 2011-01-01.
2011年01月15日将返回将返回2011-01-01.
该行为适用于大多数日历系统的使用。它相当于:
时间与(day_of_year,1);
public static TemporalAdjuster lastDayOfYear()
ISO的日历系统,表现为:
输入输入2011-02-15 2011-12-31.
2011年01月15日将返回将返回2011-12-31.
该行为适用于大多数日历系统的使用。它相当于:
长天=时间范围(day_of_year getmaximum());时间,(day_of_year,最后一天);
public static TemporalAdjuster firstDayOfNextYear()
ISO的日历系统,表现为:
输入2011年01月15日将返回2012-01-01。
该行为适用于大多数日历系统的使用。它相当于:
时间,(day_of_year,1)和(1,年);
public static TemporalAdjuster firstInMonth(DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011-12-15为(星期一)将返回2011-12-05.
输入2011-12-15为(星期五)将返回2011-12-02.
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
和DAY_OF_MONTH
领域和DAYS
单元,并假定一七天一周。
dayOfWeek
-星期几,不为空
public static TemporalAdjuster lastInMonth(DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011-12-15为(星期一)将返回2011-12-26.
输入2011-12-15为(星期五)将返回2011-12-30.
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
和DAY_OF_MONTH
领域和DAYS
单元,并假定一七天一周。
dayOfWeek
-星期几,不为空
public static TemporalAdjuster dayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011-12-15为(1,星期二)将返回2011-12-06.
输入2011-12-15为(2,星期二)将返回2011-12-13.
输入2011-12-15为(3,星期二)将返回2011-12-20.
输入2011-12-15为(4,星期二)将返回2011-12-27.
输入2011-12-15为(5,星期二)将返回2012-01-03.
输入2011-12-15为(1,星期二)将返回2011-12-27(上个月)。
输入2011-12-15为(4,星期二)将返回2011-12-06(3周前的最后一个月)。
输入2011-12-15为(5,星期二)将返回2011-11-29(4周前的最后一个月)。
输入2011-12-15为(0,星期二)将返回2011-11-29(在前一个月的最后
)。
对于一个正的或零的序数,该算法是相当于找到一周的第一天,在一个月内的比赛,然后添加一个数周的时间。对于一个负序,该算法是相当于找到一周的最后一天,在一个月内,然后减去一个数周的时间。周序号不验证和解释从轻根据这个算法。这个定义意味着,在上个月的最后一个匹配的一周中,零的序数找到了最后一个匹配的一天。
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
和DAY_OF_MONTH
领域和DAYS
单元,并假定一七天一周。
ordinal
在月周,无界但通常从5到5
dayOfWeek
-星期几,不为空
public static TemporalAdjuster next(DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011年01月15日(星期六)参数(星期一)将返回2011-01-17(两天后)。
输入2011年01月15日(星期六)参数(星期三)将返回2011-01-19(四天后)。
输入2011年01月15日(星期六)参数(星期六)将返回2011-01-22(七天后)。
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
场和DAYS
单元,并假定一七天一周。
dayOfWeek
-周活动当天日期,不为空
public static TemporalAdjuster nextOrSame(DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011年01月15日(星期六)参数(星期一)将返回2011-01-17(两天后)。
输入2011年01月15日(星期六)参数(星期三)将返回2011-01-19(四天后)。
输入2011年01月15日(星期六)参数(星期六()将返回相同的输入)2011年01月15日。
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
场和DAYS
单元,并假定一七天一周。
dayOfWeek
-周检查或移动当天日期,不为空
public static TemporalAdjuster previous(DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011年01月15日(星期六)参数(星期一)将返回2011-01-10(五天前)。
输入2011年01月15日(星期六)参数(星期三)将返回2011-01-12(三天前)。
输入2011年01月15日(星期六)参数(星期六)将返回2011-01-08(七天前)。
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
场和DAYS
单元,并假定一七天一周。
dayOfWeek
-周活动当天日期,不为空
public static TemporalAdjuster previousOrSame(DayOfWeek dayOfWeek)
ISO的日历系统,表现为:
输入2011年01月15日(星期六)参数(星期一)将返回2011-01-10(五天前)。
输入2011年01月15日(星期六)参数(星期三)将返回2011-01-12(三天前)。
输入2011年01月15日(星期六)参数(星期六()将返回相同的输入)2011年01月15日。
该行为适用于大多数日历系统的使用。它使用DAY_OF_WEEK
场和DAYS
单元,并假定一七天一周。
dayOfWeek
-周检查或移动当天日期,不为空
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.