Class DateAdjusters
- java.lang.Object
-
- javax.time.calendar.DateAdjusters
-
public final class DateAdjusters extends java.lang.ObjectProvides common implementations ofDateAdjuster.DateAdjusters is a utility class. All adjusters returned are immutable and thread-safe.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classDateAdjusters.DayOfWeekInMonthClass implementing day-of-week in month adjuster.private static classDateAdjusters.ImplEnum implementing the adjusters.private static classDateAdjusters.RelativeDayOfWeekImplementation of next, previous or current day-of-week.
-
Constructor Summary
Constructors Modifier Constructor Description privateDateAdjusters()Private constructor since this is a utility class.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static DateAdjusterdayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek)Returns the day-of-week in month adjuster, which returns a new date in the same month with the ordinal day-of-week.static DateAdjusterfirstDayOfMonth()Returns the first day-of-month adjuster, which returns a new date with the day-of-month changed to be the first day of the month.static DateAdjusterfirstDayOfYear()Returns the first day-of-year adjuster, which returns a new date with the day-of-year changed to be the first day of the year - January 1.static DateAdjusterfirstInMonth(DayOfWeek dayOfWeek)Returns the first in month adjuster, which returns a new date in the same month with the first matching day-of-week.static DateAdjusterlastDayOfMonth()Returns the last day-of-month adjuster, which returns a new date with the day-of-month changed to be the last valid day of the month.static DateAdjusterlastDayOfYear()Returns the last day-of-year adjuster, which returns a new date with the day-of-year changed to be the last day of the year - December 31.static DateAdjusternext(DayOfWeek dow)Returns the next day-of-week adjuster, which adjusts the date to be the next of the specified day-of-week after the specified date.static DateAdjusternextNonWeekendDay()Returns the next non weekend day adjuster, which adjusts the date one day forward skipping Saturday and Sunday.static DateAdjusternextOrCurrent(DayOfWeek dow)Returns the next or current day-of-week adjuster, which adjusts the date to be be the next of the specified day-of-week, returning the input date if the day-of-week matched.static DateAdjusterprevious(DayOfWeek dow)Returns the previous day-of-week adjuster, which adjusts the date to be the previous of the specified day-of-week after the specified date.static DateAdjusterpreviousOrCurrent(DayOfWeek dow)Returns the previous or current day-of-week adjuster, which adjusts the date to be be the previous of the specified day-of-week, returning the input date if the day-of-week matched.
-
-
-
Method Detail
-
firstDayOfMonth
public static DateAdjuster firstDayOfMonth()
Returns the first day-of-month adjuster, which returns a new date with the day-of-month changed to be the first day of the month.The input 2007-01-15 will return 2007-01-01.
The input 2008-02-15 will return 2008-02-01.- Returns:
- the first day-of-month adjuster, never null
-
lastDayOfMonth
public static DateAdjuster lastDayOfMonth()
Returns the last day-of-month adjuster, which returns a new date with the day-of-month changed to be the last valid day of the month.The input 2007-01-15 will return 2007-01-31.
The input 2007-02-15 will return 2007-02-28.
The input 2007-03-15 will return 2007-03-31.
The input 2007-04-15 will return 2007-04-30.
The input 2008-02-15 will return 2008-02-29.- Returns:
- the last day-of-month adjuster, never null
-
firstDayOfYear
public static DateAdjuster firstDayOfYear()
Returns the first day-of-year adjuster, which returns a new date with the day-of-year changed to be the first day of the year - January 1.The input 2007-01-15 will return 2007-01-01.
The input 2008-02-15 will return 2008-01-01.- Returns:
- the first day-of-year adjuster, never null
-
lastDayOfYear
public static DateAdjuster lastDayOfYear()
Returns the last day-of-year adjuster, which returns a new date with the day-of-year changed to be the last day of the year - December 31.The input 2007-01-15 will return 2007-12-31.
The input 2008-02-15 will return 2008-12-31.- Returns:
- the last day-of-year adjuster, never null
-
nextNonWeekendDay
public static DateAdjuster nextNonWeekendDay()
Returns the next non weekend day adjuster, which adjusts the date one day forward skipping Saturday and Sunday.- Returns:
- the next working day adjuster, never null
-
firstInMonth
public static DateAdjuster firstInMonth(DayOfWeek dayOfWeek)
Returns the first in month adjuster, which returns a new date in the same month with the first matching day-of-week. This is used for expressions like 'first Tuesday in March'.The input 2007-12-15 for (MONDAY) will return 2007-12-03.
The input 2007-12-15 for (TUESDAY) will return 2007-12-04.- Parameters:
dayOfWeek- the day-of-week, not null- Returns:
- the first in month adjuster, never null
-
dayOfWeekInMonth
public static DateAdjuster dayOfWeekInMonth(int ordinal, DayOfWeek dayOfWeek)
Returns the day-of-week in month adjuster, which returns a new date in the same month with the ordinal day-of-week. This is used for expressions like 'second Tuesday in March'.The input 2007-12-15 for (1,MONDAY) will return 2007-12-03.
The input 2007-12-15 for (2,TUESDAY) will return 2007-12-11.
The input 2007-12-15 for (3,TUESDAY) will return 2007-12-18.
The input 2007-12-15 for (4,TUESDAY) will return 2007-12-25.
The input 2007-12-15 for (5,TUESDAY) will return 2008-01-01.
If the ordinal is 5 and there is no 5th of the requested day-of-week, then the first of the next month is returned.
- Parameters:
ordinal- ordinal, from 1 to 5dayOfWeek- the day-of-week, not null- Returns:
- the day-of-week in month adjuster, never null
- Throws:
java.lang.IllegalArgumentException- if the ordinal is invalid
-
next
public static DateAdjuster next(DayOfWeek dow)
Returns the next day-of-week adjuster, which adjusts the date to be the next of the specified day-of-week after the specified date.- Parameters:
dow- the day-of-week to move the date to, not null- Returns:
- the next day-of-week adjuster, never null
-
nextOrCurrent
public static DateAdjuster nextOrCurrent(DayOfWeek dow)
Returns the next or current day-of-week adjuster, which adjusts the date to be be the next of the specified day-of-week, returning the input date if the day-of-week matched.- Parameters:
dow- the day-of-week to move the date to, not null- Returns:
- the next day-of-week adjuster, never null
-
previous
public static DateAdjuster previous(DayOfWeek dow)
Returns the previous day-of-week adjuster, which adjusts the date to be the previous of the specified day-of-week after the specified date.- Parameters:
dow- the day-of-week to move the date to, not null- Returns:
- the next day-of-week adjuster, never null
-
previousOrCurrent
public static DateAdjuster previousOrCurrent(DayOfWeek dow)
Returns the previous or current day-of-week adjuster, which adjusts the date to be be the previous of the specified day-of-week, returning the input date if the day-of-week matched.- Parameters:
dow- the day-of-week to move the date to, not null- Returns:
- the next day-of-week adjuster, never null
-
-