Package com.norconex.commons.lang.time
Class YearMonthDay
- java.lang.Object
-
- com.norconex.commons.lang.time.YearMonthDay
-
- All Implemented Interfaces:
Serializable,Comparable<YearMonthDay>
public final class YearMonthDay extends Object implements Comparable<YearMonthDay>, Serializable
Immutable class holding a specific date made only of the year, month, and day. Unlike JavaCalendar, the months are starting at 1 (January).- Since:
- 1.3.0
- Author:
- Pascal Essiembre
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description YearMonthDay()Constructs a YearMonthDay with the current date.YearMonthDay(int year)Constructs a YearMonthDay with the specified year.YearMonthDay(int year, int month)Constructs a YearMonthDay with the specified year and month.YearMonthDay(int year, int month, int day)Constructs a YearMonthDay with the specified values.YearMonthDay(String date)Constructs a YearMonthDay from a string of this format:yyyy-MM-dd.YearMonthDay(Calendar calendar)Constructs a YearMonthDay from aCalendar.YearMonthDay(Date date)Constructs a YearMonthDay from aDate.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description YearMonthDayaddDays(int numOfDays)Adds a number of days to a new created YearMonthDay.YearMonthDayaddMonths(int numOfMonths)Adds a number of months to a new created YearMonthDay.YearMonthDayaddYears(int numOfYears)Adds a number of years to a new created YearMonthDay.intcompareTo(YearMonthDay ymd)booleancontains(Date date)Whether this YearmMonthDay contains the givenDate(i.e. same year, month, and day).booleanequals(Object other)intgetDay()Gets the day.intgetMonth()Gets the month.intgetYear()Gets the year.inthashCode()booleanisAfter(YearMonthDay ymd)Whether this YearMonthDay represents a date after the given YearMonthDay.booleanisAfterDate(Date date)Whether this YearMonthDay represents a date after the given date.booleanisBefore(YearMonthDay ymd)Whether this YearMonthDay represents a date before the given YearMonthDay.booleanisBeforeDate(Date date)Whether this YearMonthDay represents a date before the given date.CalendartoCalendar()Converts this YearMonthDay to aCalendarat midnight.DatetoDate()Converts this YearMonthDay to aDateat midnight.DatetoEndOfDayDate()Gets the date as midnight the day after to represent the end of the day.longtoMillis()Converts this YearMonthDay to the current time as UTC milliseconds from the epoch.StringtoString()Converts the YearMonthDay to a string of this format:yyyy-MM-dd.StringtoString(String pattern)
-
-
-
Constructor Detail
-
YearMonthDay
public YearMonthDay()
Constructs a YearMonthDay with the current date.
-
YearMonthDay
public YearMonthDay(int year, int month, int day)Constructs a YearMonthDay with the specified values.- Parameters:
year- the yearmonth- the monthday- the day
-
YearMonthDay
public YearMonthDay(int year, int month)Constructs a YearMonthDay with the specified year and month. The day is set to 1.- Parameters:
year- the yearmonth- the month
-
YearMonthDay
public YearMonthDay(int year)
Constructs a YearMonthDay with the specified year. The day and the months are both set to 1.- Parameters:
year- the year
-
YearMonthDay
public YearMonthDay(Date date)
Constructs a YearMonthDay from aDate.- Parameters:
date- a date
-
YearMonthDay
public YearMonthDay(Calendar calendar)
Constructs a YearMonthDay from aCalendar.- Parameters:
calendar- a calendar instant
-
YearMonthDay
public YearMonthDay(String date)
Constructs a YearMonthDay from a string of this format:yyyy-MM-dd.- Parameters:
date- a date string
-
-
Method Detail
-
getYear
public int getYear()
Gets the year.- Returns:
- the year
-
getMonth
public int getMonth()
Gets the month.- Returns:
- the month
-
getDay
public int getDay()
Gets the day.- Returns:
- the day
-
isBefore
public boolean isBefore(YearMonthDay ymd)
Whether this YearMonthDay represents a date before the given YearMonthDay.- Parameters:
ymd- the YearMonthDay to evaluate- Returns:
trueif before
-
isBeforeDate
public boolean isBeforeDate(Date date)
Whether this YearMonthDay represents a date before the given date.- Parameters:
date- the date to evaluate- Returns:
trueif before
-
isAfter
public boolean isAfter(YearMonthDay ymd)
Whether this YearMonthDay represents a date after the given YearMonthDay.- Parameters:
ymd- the YearMonthDay to evaluate- Returns:
trueif after
-
isAfterDate
public boolean isAfterDate(Date date)
Whether this YearMonthDay represents a date after the given date.- Parameters:
date- the date to evaluate- Returns:
trueif after
-
contains
public boolean contains(Date date)
Whether this YearmMonthDay contains the givenDate(i.e. same year, month, and day).- Parameters:
date- date to evaluate- Returns:
trueif date is contained
-
toMillis
public long toMillis()
Converts this YearMonthDay to the current time as UTC milliseconds from the epoch.- Returns:
- milliseconds
-
toEndOfDayDate
public Date toEndOfDayDate()
Gets the date as midnight the day after to represent the end of the day. This ensures all dates on the same day as this YearMonthDay are smaller than this returned exclusive date. Useful for date range comparisons where typically the end date is exclusive.- Returns:
- midnight past the end date
-
addDays
public YearMonthDay addDays(int numOfDays)
Adds a number of days to a new created YearMonthDay. For subtractions, user a negative integer.- Parameters:
numOfDays- number of days- Returns:
- a new YearMonthDay instance
-
addMonths
public YearMonthDay addMonths(int numOfMonths)
Adds a number of months to a new created YearMonthDay. For subtractions, user a negative integer.- Parameters:
numOfMonths- number of months- Returns:
- a new YearMonthDay instance
-
addYears
public YearMonthDay addYears(int numOfYears)
Adds a number of years to a new created YearMonthDay. For subtractions, user a negative integer.- Parameters:
numOfYears- number of years- Returns:
- a new YearMonthDay instance
-
toCalendar
public Calendar toCalendar()
Converts this YearMonthDay to aCalendarat midnight.- Returns:
- a calendar
-
compareTo
public int compareTo(YearMonthDay ymd)
- Specified by:
compareToin interfaceComparable<YearMonthDay>
-
toString
public String toString()
Converts the YearMonthDay to a string of this format:yyyy-MM-dd.
-
-