Class LocalDate
java.lang.Object
org.apache.cassandra.cql3.functions.types.LocalDate
A date with no time components, no time zone, in the ISO 8601 calendar.
Note that ISO 8601 has a number of differences with the default gregorian calendar used in Java:
- it uses a proleptic gregorian calendar, meaning that it's gregorian indefinitely back in the past (there is no gregorian change);
- there is a year 0.
This class implements these differences, so that year/month/day fields match exactly the ones in CQL string literals.
- Since:
- 2.2
-
Method Summary
Modifier and TypeMethodDescriptionadd(int field, int amount) booleanstatic LocalDatefromDaysSinceEpoch(int daysSinceEpoch) Builds a new instance from a number of days since January 1st, 1970 GMT.static LocalDatefromMillisSinceEpoch(long millisSinceEpoch) Builds a new instance from a number of milliseconds since January 1st, 1970 GMT.intgetDay()Returns the day in the month.intReturns the number of days since January 1st, 1970 GMT.intgetMonth()Returns the month.intgetYear()Returns the year.inthashCode()toString()
-
Method Details
-
fromDaysSinceEpoch
Builds a new instance from a number of days since January 1st, 1970 GMT.- Parameters:
daysSinceEpoch- the number of days.- Returns:
- the new instance.
-
fromMillisSinceEpoch
Builds a new instance from a number of milliseconds since January 1st, 1970 GMT. Note that if the given number does not correspond to a whole number of days, it will be rounded towards 0.- Parameters:
millisSinceEpoch- the number of milliseconds since January 1st, 1970 GMT.- Returns:
- the new instance.
- Throws:
IllegalArgumentException- if the date is not in the range [-5877641-06-23; 5881580-07-11].
-
getDaysSinceEpoch
public int getDaysSinceEpoch()Returns the number of days since January 1st, 1970 GMT.- Returns:
- the number of days.
-
getYear
public int getYear()Returns the year.- Returns:
- the year.
-
getMonth
public int getMonth()Returns the month.- Returns:
- the month. It is 1-based, e.g. 1 for January.
-
getDay
public int getDay()Returns the day in the month.- Returns:
- the day in the month.
-
add
Return a newLocalDatewith the specified (signed) amount of time added to (or subtracted from) the givenCalendarfield, based on the calendar's rules.Note that adding any amount to a field smaller than
Calendar.DAY_OF_MONTHwill remain without effect, as this class does not keep time components.See
Calendarjavadocs for more information.- Parameters:
field- aCalendarfield to modify.amount- the amount of date or time to be added to the field.- Returns:
- a new
LocalDatewith the specified (signed) amount of time added to (or subtracted from) the givenCalendarfield. - Throws:
IllegalArgumentException- if the new date is not in the range [-5877641-06-23; 5881580-07-11].
-
equals
-
hashCode
public int hashCode() -
toString
-