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 YearMonthDay
addDays(int numOfDays)
Adds a number of days to a new created YearMonthDay.YearMonthDay
addMonths(int numOfMonths)
Adds a number of months to a new created YearMonthDay.YearMonthDay
addYears(int numOfYears)
Adds a number of years to a new created YearMonthDay.int
compareTo(YearMonthDay ymd)
boolean
contains(Date date)
Whether this YearmMonthDay contains the givenDate
(i.e. same year, month, and day).boolean
equals(Object other)
int
getDay()
Gets the day.int
getMonth()
Gets the month.int
getYear()
Gets the year.int
hashCode()
boolean
isAfter(YearMonthDay ymd)
Whether this YearMonthDay represents a date after the given YearMonthDay.boolean
isAfterDate(Date date)
Whether this YearMonthDay represents a date after the given date.boolean
isBefore(YearMonthDay ymd)
Whether this YearMonthDay represents a date before the given YearMonthDay.boolean
isBeforeDate(Date date)
Whether this YearMonthDay represents a date before the given date.Calendar
toCalendar()
Converts this YearMonthDay to aCalendar
at midnight.Date
toDate()
Converts this YearMonthDay to aDate
at midnight.Date
toEndOfDayDate()
Gets the date as midnight the day after to represent the end of the day.long
toMillis()
Converts this YearMonthDay to the current time as UTC milliseconds from the epoch.String
toString()
Converts the YearMonthDay to a string of this format:yyyy-MM-dd
.String
toString(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:
true
if before
-
isBeforeDate
public boolean isBeforeDate(Date date)
Whether this YearMonthDay represents a date before the given date.- Parameters:
date
- the date to evaluate- Returns:
true
if before
-
isAfter
public boolean isAfter(YearMonthDay ymd)
Whether this YearMonthDay represents a date after the given YearMonthDay.- Parameters:
ymd
- the YearMonthDay to evaluate- Returns:
true
if after
-
isAfterDate
public boolean isAfterDate(Date date)
Whether this YearMonthDay represents a date after the given date.- Parameters:
date
- the date to evaluate- Returns:
true
if 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:
true
if 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 aCalendar
at midnight.- Returns:
- a calendar
-
compareTo
public int compareTo(YearMonthDay ymd)
- Specified by:
compareTo
in interfaceComparable<YearMonthDay>
-
toString
public String toString()
Converts the YearMonthDay to a string of this format:yyyy-MM-dd
.
-
-