public final class LocalDate extends BaseLocal implements ReadablePartial, Serializable
LocalDate implements the ReadablePartial
interface.
To do this, the interface methods focus on the key fields -
Year, MonthOfYear and DayOfMonth.
However, all date fields may in fact be queried.
LocalDate differs from DateMidnight in that this class does not have a time zone and does not represent a single instant in time.
Calculations on LocalDate are performed using a Chronology
.
This chronology will be set internally to be in the UTC time zone
for all calculations.
Each individual field can be queried in two ways:
getMonthOfYear()
monthOfYear().get()
LocalDate is thread-safe and immutable, provided that the Chronology is as well. All standard Chronology classes supplied are thread-safe and immutable.
Modifier and Type | Class and Description |
---|---|
static class |
LocalDate.Property
LocalDate.Property binds a LocalDate to a DateTimeField allowing
powerful datetime functionality to be easily accessed.
|
Constructor and Description |
---|
LocalDate()
Constructs an instance set to the current local time evaluated using
ISO chronology in the default zone.
|
LocalDate(Chronology chronology)
Constructs an instance set to the current local time evaluated using
specified chronology.
|
LocalDate(DateTimeZone zone)
Constructs an instance set to the current local time evaluated using
ISO chronology in the specified zone.
|
LocalDate(int year,
int monthOfYear,
int dayOfMonth)
Constructs an instance set to the specified date and time
using
ISOChronology . |
LocalDate(int year,
int monthOfYear,
int dayOfMonth,
Chronology chronology)
Constructs an instance set to the specified date and time
using the specified chronology, whose zone is ignored.
|
LocalDate(long instant)
Constructs an instance set to the local time defined by the specified
instant evaluated using ISO chronology in the default zone.
|
LocalDate(long instant,
Chronology chronology)
Constructs an instance set to the local time defined by the specified
instant evaluated using the specified chronology.
|
LocalDate(long instant,
DateTimeZone zone)
Constructs an instance set to the local time defined by the specified
instant evaluated using ISO chronology in the specified zone.
|
LocalDate(Object instant)
Constructs an instance from an Object that represents a datetime.
|
LocalDate(Object instant,
Chronology chronology)
Constructs an instance from an Object that represents a datetime,
using the specified chronology.
|
LocalDate(Object instant,
DateTimeZone zone)
Constructs an instance from an Object that represents a datetime,
forcing the time zone to that specified.
|
Modifier and Type | Method and Description |
---|---|
LocalDate.Property |
centuryOfEra()
Get the century of era property which provides access to advanced functionality.
|
int |
compareTo(ReadablePartial partial)
Compares this partial with another returning an integer
indicating the order.
|
LocalDate.Property |
dayOfMonth()
Get the day of month property which provides access to advanced functionality.
|
LocalDate.Property |
dayOfWeek()
Get the day of week property which provides access to advanced functionality.
|
LocalDate.Property |
dayOfYear()
Get the day of year property which provides access to advanced functionality.
|
boolean |
equals(Object partial)
Compares this ReadablePartial with another returning true if the chronology,
field types and values are equal.
|
LocalDate.Property |
era()
Get the era property which provides access to advanced functionality.
|
static LocalDate |
fromCalendarFields(Calendar calendar)
Constructs a LocalDate from a
java.util.Calendar
using exactly the same field values. |
static LocalDate |
fromDateFields(Date date)
Constructs a LocalDate from a
java.util.Date
using exactly the same field values. |
int |
get(DateTimeFieldType fieldType)
Get the value of one of the fields of a datetime.
|
int |
getCenturyOfEra()
Get the year of era field value.
|
Chronology |
getChronology()
Gets the chronology of the date.
|
int |
getDayOfMonth()
Get the day of month field value.
|
int |
getDayOfWeek()
Get the day of week field value.
|
int |
getDayOfYear()
Get the day of year field value.
|
int |
getEra()
Get the era field value.
|
protected DateTimeField |
getField(int index,
Chronology chrono)
Gets the field for a specific index in the chronology specified.
|
protected long |
getLocalMillis()
Gets the local milliseconds from the Java epoch
of 1970-01-01T00:00:00 (not fixed to any specific time zone).
|
int |
getMonthOfYear()
Get the month of year field value.
|
int |
getValue(int index)
Gets the value of the field at the specified index.
|
int |
getWeekOfWeekyear()
Get the week of weekyear field value.
|
int |
getWeekyear()
Get the weekyear field value.
|
int |
getYear()
Get the year field value.
|
int |
getYearOfCentury()
Get the year of century field value.
|
int |
getYearOfEra()
Get the year of era field value.
|
int |
hashCode()
Gets a hash code for the instant as defined in
ReadablePartial . |
boolean |
isSupported(DateTimeFieldType type)
Checks if the field type specified is supported by this
local date and chronology.
|
boolean |
isSupported(DurationFieldType type)
Checks if the duration type specified is supported by this
local date and chronology.
|
LocalDate |
minus(ReadablePeriod period)
Returns a copy of this date with the specified period taken away.
|
LocalDate |
minusDays(int days)
Returns a copy of this date minus the specified number of days.
|
LocalDate |
minusMonths(int months)
Returns a copy of this date minus the specified number of months.
|
LocalDate |
minusWeeks(int weeks)
Returns a copy of this date minus the specified number of weeks.
|
LocalDate |
minusYears(int years)
Returns a copy of this date minus the specified number of years.
|
LocalDate.Property |
monthOfYear()
Get the month of year property which provides access to advanced functionality.
|
static LocalDate |
now()
Obtains a
LocalDate set to the current system millisecond time
using ISOChronology in the default time zone. |
static LocalDate |
now(Chronology chronology)
Obtains a
LocalDate set to the current system millisecond time
using the specified chronology. |
static LocalDate |
now(DateTimeZone zone)
Obtains a
LocalDate set to the current system millisecond time
using ISOChronology in the specified time zone. |
static LocalDate |
parse(String str)
Parses a
LocalDate from the specified string. |
static LocalDate |
parse(String str,
DateTimeFormatter formatter)
Parses a
LocalDate from the specified string using a formatter. |
LocalDate |
plus(ReadablePeriod period)
Returns a copy of this date with the specified period added.
|
LocalDate |
plusDays(int days)
Returns a copy of this date plus the specified number of days.
|
LocalDate |
plusMonths(int months)
Returns a copy of this date plus the specified number of months.
|
LocalDate |
plusWeeks(int weeks)
Returns a copy of this date plus the specified number of weeks.
|
LocalDate |
plusYears(int years)
Returns a copy of this date plus the specified number of years.
|
LocalDate.Property |
property(DateTimeFieldType fieldType)
Gets the property object for the specified type, which contains many
useful methods.
|
int |
size()
Gets the number of fields in this partial, which is three.
|
Date |
toDate()
Get the date time as a
java.util.Date . |
DateMidnight |
toDateMidnight()
Deprecated.
DateMidnight is deprecated
|
DateMidnight |
toDateMidnight(DateTimeZone zone)
Deprecated.
DateMidnight is deprecated
|
DateTime |
toDateTime(LocalTime time)
Converts this object to a DateTime using a LocalTime to fill in the
missing fields and using the default time zone.
|
DateTime |
toDateTime(LocalTime time,
DateTimeZone zone)
Converts this object to a DateTime using a LocalTime to fill in the
missing fields.
|
DateTime |
toDateTimeAtCurrentTime()
Converts this LocalDate to a full datetime using the default time zone
setting the date fields from this instance and the time fields from
the current time.
|
DateTime |
toDateTimeAtCurrentTime(DateTimeZone zone)
Converts this LocalDate to a full datetime using the specified time zone
setting the date fields from this instance and the time fields from
the current time.
|
DateTime |
toDateTimeAtMidnight()
Deprecated.
Use
toDateTimeAtStartOfDay() which won't throw an exception |
DateTime |
toDateTimeAtMidnight(DateTimeZone zone)
Deprecated.
Use
toDateTimeAtStartOfDay(DateTimeZone) which won't throw an exception |
DateTime |
toDateTimeAtStartOfDay()
Converts this LocalDate to a full datetime at the earliest valid time
for the date using the default time zone.
|
DateTime |
toDateTimeAtStartOfDay(DateTimeZone zone)
Converts this LocalDate to a full datetime at the earliest valid time
for the date using the specified time zone.
|
Interval |
toInterval()
Converts this object to an Interval representing the whole day
in the default time zone.
|
Interval |
toInterval(DateTimeZone zone)
Converts this object to an Interval representing the whole day.
|
LocalDateTime |
toLocalDateTime(LocalTime time)
Converts this object to a LocalDateTime using a LocalTime to fill in
the missing fields.
|
String |
toString()
Output the date time in ISO8601 format (yyyy-MM-dd).
|
String |
toString(String pattern)
Output the date using the specified format pattern.
|
String |
toString(String pattern,
Locale locale)
Output the date using the specified format pattern.
|
LocalDate.Property |
weekOfWeekyear()
Get the week of a week based year property which provides access to advanced functionality.
|
LocalDate.Property |
weekyear()
Get the weekyear property which provides access to advanced functionality.
|
LocalDate |
withCenturyOfEra(int centuryOfEra)
Returns a copy of this date with the century of era field updated.
|
LocalDate |
withDayOfMonth(int dayOfMonth)
Returns a copy of this date with the day of month field updated.
|
LocalDate |
withDayOfWeek(int dayOfWeek)
Returns a copy of this date with the day of week field updated.
|
LocalDate |
withDayOfYear(int dayOfYear)
Returns a copy of this date with the day of year field updated.
|
LocalDate |
withEra(int era)
Returns a copy of this date with the era field updated.
|
LocalDate |
withField(DateTimeFieldType fieldType,
int value)
Returns a copy of this date with the specified field set to a new value.
|
LocalDate |
withFieldAdded(DurationFieldType fieldType,
int amount)
Returns a copy of this date with the value of the specified field increased.
|
LocalDate |
withFields(ReadablePartial partial)
Returns a copy of this date with the partial set of fields replacing
those from this instance.
|
LocalDate |
withMonthOfYear(int monthOfYear)
Returns a copy of this date with the month of year field updated.
|
LocalDate |
withPeriodAdded(ReadablePeriod period,
int scalar)
Returns a copy of this date with the specified period added.
|
LocalDate |
withWeekOfWeekyear(int weekOfWeekyear)
Returns a copy of this date with the week of weekyear field updated.
|
LocalDate |
withWeekyear(int weekyear)
Returns a copy of this date with the weekyear field updated.
|
LocalDate |
withYear(int year)
Returns a copy of this date with the year field updated.
|
LocalDate |
withYearOfCentury(int yearOfCentury)
Returns a copy of this date with the year of century field updated.
|
LocalDate |
withYearOfEra(int yearOfEra)
Returns a copy of this date with the year of era field updated.
|
LocalDate.Property |
year()
Get the year property which provides access to advanced functionality.
|
LocalDate.Property |
yearOfCentury()
Get the year of century property which provides access to advanced functionality.
|
LocalDate.Property |
yearOfEra()
Get the year of era property which provides access to advanced functionality.
|
getField, getFields, getFieldType, getFieldTypes, getValues, indexOf, indexOf, indexOfSupported, indexOfSupported, isAfter, isBefore, isEqual, toDateTime, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getField, getFieldType, toDateTime
public LocalDate()
Once the constructor is completed, the zone is no longer used.
now()
public LocalDate(DateTimeZone zone)
If the specified time zone is null, the default zone is used. Once the constructor is completed, the zone is no longer used.
zone
- the time zone, null means default zonenow(DateTimeZone)
public LocalDate(Chronology chronology)
If the chronology is null, ISO chronology in the default time zone is used. Once the constructor is completed, the zone is no longer used.
chronology
- the chronology, null means ISOChronology in default zonenow(Chronology)
public LocalDate(long instant)
Once the constructor is completed, the zone is no longer used.
instant
- the milliseconds from 1970-01-01T00:00:00Zpublic LocalDate(long instant, DateTimeZone zone)
If the specified time zone is null, the default zone is used. Once the constructor is completed, the zone is no longer used.
instant
- the milliseconds from 1970-01-01T00:00:00Zzone
- the time zone, null means default zonepublic LocalDate(long instant, Chronology chronology)
If the chronology is null, ISO chronology in the default zone is used. Once the constructor is completed, the zone is no longer used.
instant
- the milliseconds from 1970-01-01T00:00:00Zchronology
- the chronology, null means ISOChronology in default zonepublic LocalDate(Object instant)
If the object contains no chronology, ISOChronology
is used.
Once the constructor is completed, the zone is no longer used.
The recognised object types are defined in
ConverterManager
and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by ISODateTimeFormat.localDateParser()
.
The default String converter ignores the zone and only parses the field values.
instant
- the datetime objectIllegalArgumentException
- if the instant is invalidpublic LocalDate(Object instant, DateTimeZone zone)
If the object contains no chronology, ISOChronology
is used.
If the specified time zone is null, the default zone is used.
Once the constructor is completed, the zone is no longer used.
The recognised object types are defined in
ConverterManager
and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by ISODateTimeFormat.localDateParser()
.
The default String converter ignores the zone and only parses the field values.
instant
- the datetime objectzone
- the time zoneIllegalArgumentException
- if the instant is invalidpublic LocalDate(Object instant, Chronology chronology)
If the chronology is null, ISO in the default time zone is used.
Once the constructor is completed, the zone is no longer used.
If the instant contains a chronology, it will be ignored.
For example, passing a LocalDate
and a different chronology
will return a date with the year/month/day from the date applied
unaltered to the specified chronology.
The recognised object types are defined in
ConverterManager
and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by ISODateTimeFormat.localDateParser()
.
The default String converter ignores the zone and only parses the field values.
instant
- the datetime objectchronology
- the chronologyIllegalArgumentException
- if the instant is invalidpublic LocalDate(int year, int monthOfYear, int dayOfMonth)
ISOChronology
.year
- the yearmonthOfYear
- the month of the year, from 1 to 12dayOfMonth
- the day of the month, from 1 to 31public LocalDate(int year, int monthOfYear, int dayOfMonth, Chronology chronology)
If the chronology is null, ISOChronology
is used.
year
- the year, valid values defined by the chronologymonthOfYear
- the month of the year, valid values defined by the chronologydayOfMonth
- the day of the month, valid values defined by the chronologychronology
- the chronology, null means ISOChronology in default zonepublic static LocalDate now()
LocalDate
set to the current system millisecond time
using ISOChronology
in the default time zone.public static LocalDate now(DateTimeZone zone)
LocalDate
set to the current system millisecond time
using ISOChronology
in the specified time zone.zone
- the time zone, not nullpublic static LocalDate now(Chronology chronology)
LocalDate
set to the current system millisecond time
using the specified chronology.chronology
- the chronology, not nullpublic static LocalDate parse(String str)
LocalDate
from the specified string.
This uses ISODateTimeFormat.localDateParser()
.
str
- the string to parse, not nullpublic static LocalDate parse(String str, DateTimeFormatter formatter)
LocalDate
from the specified string using a formatter.str
- the string to parse, not nullformatter
- the formatter to use, not nullpublic static LocalDate fromCalendarFields(Calendar calendar)
java.util.Calendar
using exactly the same field values.
Each field is queried from the Calendar and assigned to the LocalDate. This is useful if you have been using the Calendar as a local date, ignoring the zone.
One advantage of this method is that this method is unaffected if the version of the time zone data differs between the JDK and Joda-Time. That is because the local field values are transferred, calculated using the JDK time zone data and without using the Joda-Time time zone data.
This factory method ignores the type of the calendar and always
creates a LocalDate with ISO chronology. It is expected that you
will only pass in instances of GregorianCalendar
however
this is not validated.
calendar
- the Calendar to extract fields from, not nullIllegalArgumentException
- if the calendar is nullIllegalArgumentException
- if the date is invalid for the ISO chronologypublic static LocalDate fromDateFields(Date date)
java.util.Date
using exactly the same field values.
Each field is queried from the Date and assigned to the LocalDate. This is useful if you have been using the Date as a local date, ignoring the zone.
One advantage of this method is that this method is unaffected if the version of the time zone data differs between the JDK and Joda-Time. That is because the local field values are transferred, calculated using the JDK time zone data and without using the Joda-Time time zone data.
This factory method always creates a LocalDate with ISO chronology.
date
- the Date to extract fields from, not nullIllegalArgumentException
- if the calendar is nullIllegalArgumentException
- if the date is invalid for the ISO chronologypublic int size()
size
in interface ReadablePartial
protected DateTimeField getField(int index, Chronology chrono)
This method must not use any instance variables.
getField
in class AbstractPartial
index
- the index to retrievechrono
- the chronology to usepublic int getValue(int index)
This method is required to support the ReadablePartial
interface. The supported fields are Year, MonthOfYear and DayOfMonth.
Note that all fields from day and above may in fact be queried via
other methods.
getValue
in interface ReadablePartial
index
- the index, zero to twoIndexOutOfBoundsException
- if the index is invalidpublic int get(DateTimeFieldType fieldType)
This method gets the value of the specified field. For example:
LocalDate dt = LocalDate.nowDefaultZone(); int year = dt.get(DateTimeFieldType.year());
get
in interface ReadablePartial
get
in class AbstractPartial
fieldType
- a field type, usually obtained from DateTimeFieldType, not nullIllegalArgumentException
- if the field type is null or unsupportedpublic boolean isSupported(DateTimeFieldType type)
get(DateTimeFieldType)
.isSupported
in interface ReadablePartial
isSupported
in class AbstractPartial
type
- a field type, usually obtained from DateTimeFieldTypepublic boolean isSupported(DurationFieldType type)
type
- a duration type, usually obtained from DurationFieldTypeprotected long getLocalMillis()
getLocalMillis
in class BaseLocal
public Chronology getChronology()
getChronology
in interface ReadablePartial
public boolean equals(Object partial)
equals
in interface ReadablePartial
equals
in class AbstractPartial
partial
- an object to check againstpublic int hashCode()
ReadablePartial
.hashCode
in interface ReadablePartial
hashCode
in class AbstractPartial
public int compareTo(ReadablePartial partial)
The fields are compared in order, from largest to smallest. The first field that is non-equal is used to determine the result.
The specified object must be a partial instance whose field types match those of this partial.
compareTo
in interface Comparable<ReadablePartial>
compareTo
in class AbstractPartial
partial
- an object to check againstClassCastException
- if the partial is the wrong class
or if it has field types that don't matchNullPointerException
- if the partial is nullpublic DateTime toDateTimeAtStartOfDay()
The time will normally be midnight, as that is the earliest time on any given day. However, in some time zones when Daylight Savings Time starts, there is no midnight because time jumps from 11:59 to 01:00. This method handles that situation by returning 01:00 on that date.
This instance is immutable and unaffected by this method call.
public DateTime toDateTimeAtStartOfDay(DateTimeZone zone)
The time will normally be midnight, as that is the earliest time on any given day. However, in some time zones when Daylight Savings Time starts, there is no midnight because time jumps from 11:59 to 01:00. This method handles that situation by returning 01:00 on that date.
This method uses the chronology from this instance plus the time zone specified.
This instance is immutable and unaffected by this method call.
zone
- the zone to use, null means default zone@Deprecated public DateTime toDateTimeAtMidnight()
toDateTimeAtStartOfDay()
which won't throw an exceptionThis method will throw an exception if the default time zone switches to Daylight Savings Time at midnight and this LocalDate represents that switchover date. The problem is that there is no such time as midnight on the required date, and as such an exception is thrown.
This instance is immutable and unaffected by this method call.
@Deprecated public DateTime toDateTimeAtMidnight(DateTimeZone zone)
toDateTimeAtStartOfDay(DateTimeZone)
which won't throw an exceptionThis method will throw an exception if the time zone switches to Daylight Savings Time at midnight and this LocalDate represents that switchover date. The problem is that there is no such time as midnight on the required date, and as such an exception is thrown.
This method uses the chronology from this instance plus the time zone specified.
This instance is immutable and unaffected by this method call.
zone
- the zone to use, null means default zonepublic DateTime toDateTimeAtCurrentTime()
This method will throw an exception if the datetime that would be created does not exist when the time zone is taken into account.
This instance is immutable and unaffected by this method call.
public DateTime toDateTimeAtCurrentTime(DateTimeZone zone)
This method uses the chronology from this instance plus the time zone specified.
This method will throw an exception if the datetime that would be created does not exist when the time zone is taken into account.
This instance is immutable and unaffected by this method call.
zone
- the zone to use, null means default zone@Deprecated public DateMidnight toDateMidnight()
As from v1.5, you are recommended to avoid DateMidnight and use
toDateTimeAtStartOfDay()
instead because of the exception
detailed below.
This method will throw an exception if the default time zone switches to Daylight Savings Time at midnight and this LocalDate represents that switchover date. The problem is that there is no such time as midnight on the required date, and as such an exception is thrown.
This instance is immutable and unaffected by this method call.
@Deprecated public DateMidnight toDateMidnight(DateTimeZone zone)
As from v1.5, you are recommended to avoid DateMidnight and use
toDateTimeAtStartOfDay()
instead because of the exception
detailed below.
This method will throw an exception if the time zone switches to Daylight Savings Time at midnight and this LocalDate represents that switchover date. The problem is that there is no such time as midnight on the required date, and as such an exception is thrown.
This instance is immutable and unaffected by this method call.
zone
- the zone to get the DateMidnight in, null means default zonepublic LocalDateTime toLocalDateTime(LocalTime time)
The resulting chronology is determined by the chronology of this LocalDate. The chronology of the time must also match. If the time is null an exception is thrown.
This instance is immutable and unaffected by this method call.
time
- the time of day to use, must not be nullIllegalArgumentException
- if the time is nullIllegalArgumentException
- if the chronology of the time does not matchpublic DateTime toDateTime(LocalTime time)
The resulting chronology is determined by the chronology of this LocalDate. The chronology of the time must match.
If the time is null, this method delegates to toDateTimeAtCurrentTime(DateTimeZone)
and the following documentation does not apply.
When the time zone is applied, the local date-time may be affected by daylight saving. In a daylight saving gap, when the local time does not exist, this method will throw an exception. In a daylight saving overlap, when the same local time occurs twice, this method returns the first occurrence of the local time.
This instance is immutable and unaffected by this method call.
time
- the time of day to use, null uses current timeIllegalArgumentException
- if the chronology of the time does not matchIllegalInstantException
- if the local time does not exist when the time zone is appliedpublic DateTime toDateTime(LocalTime time, DateTimeZone zone)
The resulting chronology is determined by the chronology of this LocalDate plus the time zone. The chronology of the time must match.
If the time is null, this method delegates to toDateTimeAtCurrentTime(DateTimeZone)
and the following documentation does not apply.
When the time zone is applied, the local date-time may be affected by daylight saving. In a daylight saving gap, when the local time does not exist, this method will throw an exception. In a daylight saving overlap, when the same local time occurs twice, this method returns the first occurrence of the local time.
This instance is immutable and unaffected by this method call.
time
- the time of day to use, null uses current timezone
- the zone to get the DateTime in, null means defaultIllegalArgumentException
- if the chronology of the time does not matchIllegalInstantException
- if the local time does not exist when the time zone is appliedpublic Interval toInterval()
The interval may have more or less than 24 hours if this is a daylight savings cutover date.
This instance is immutable and unaffected by this method call.
public Interval toInterval(DateTimeZone zone)
The interval may have more or less than 24 hours if this is a daylight savings cutover date.
This instance is immutable and unaffected by this method call.
zone
- the zone to get the Interval in, null means defaultpublic Date toDate()
java.util.Date
.
The Date
object created has exactly the same year, month and day
as this date. The time will be set to the earliest valid time for that date.
Converting to a JDK Date is full of complications as the JDK Date constructor doesn't behave as you might expect around DST transitions. This method works by taking a first guess and then adjusting the JDK date until it has the earliest valid instant. This also handles the situation where the JDK time zone data differs from the Joda-Time time zone data.
public LocalDate withFields(ReadablePartial partial)
For example, if the partial contains a year and a month then those two
fields will be changed in the returned instance.
Unsupported fields are ignored.
If the partial is null, then this
is returned.
partial
- the partial set of fields to apply to this date, null ignoredIllegalArgumentException
- if any value is invalidpublic LocalDate withField(DateTimeFieldType fieldType, int value)
For example, if the field type is monthOfYear
then the
month of year field will be changed in the returned instance.
If the field type is null, then this
is returned.
These two lines are equivalent:
LocalDate updated = dt.withDayOfMonth(6); LocalDate updated = dt.withField(DateTimeFieldType.dayOfMonth(), 6);
fieldType
- the field type to set, not nullvalue
- the value to setIllegalArgumentException
- if the field is null or unsupportedpublic LocalDate withFieldAdded(DurationFieldType fieldType, int amount)
If the addition is zero or the field is null, then this
is returned.
These three lines are equivalent:
LocalDate added = dt.withFieldAdded(DurationFieldType.years(), 6); LocalDate added = dt.plusYears(6); LocalDate added = dt.plus(Period.years(6));
fieldType
- the field type to add to, not nullamount
- the amount to addIllegalArgumentException
- if the field is null or unsupportedArithmeticException
- if the result exceeds the internal capacitypublic LocalDate withPeriodAdded(ReadablePeriod period, int scalar)
If the addition is zero, then this
is returned.
This method is typically used to add multiple copies of complex
period instances. Adding one field is best achieved using methods
like withFieldAdded(DurationFieldType, int)
or plusYears(int)
.
Unsupported time fields are ignored, thus adding a period of 24 hours will not have any effect.
period
- the period to add to this one, null means zeroscalar
- the amount of times to add, such as -1 to subtract onceArithmeticException
- if the result exceeds the internal capacitypublic LocalDate plus(ReadablePeriod period)
If the amount is zero or null, then this
is returned.
This method is typically used to add complex period instances.
Adding one field is best achieved using methods
like plusYears(int)
.
Unsupported time fields are ignored, thus adding a period of 24 hours will not have any effect.
period
- the period to add to this one, null means zeroArithmeticException
- if the result exceeds the internal capacitypublic LocalDate plusYears(int years)
This adds the specified number of years to the date. If adding years makes the day-of-month invalid, it is adjusted to the last valid day in the month. This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate added = dt.plusYears(6); LocalDate added = dt.plus(Period.years(6)); LocalDate added = dt.withFieldAdded(DurationFieldType.years(), 6);
years
- the amount of years to add, may be negativepublic LocalDate plusMonths(int months)
This adds the specified number of months to the date. The addition may change the year, but the day-of-month is normally unchanged. If adding months makes the day-of-month invalid, it is adjusted to the last valid day in the month. This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate added = dt.plusMonths(6); LocalDate added = dt.plus(Period.months(6)); LocalDate added = dt.withFieldAdded(DurationFieldType.months(), 6);
months
- the amount of months to add, may be negativepublic LocalDate plusWeeks(int weeks)
This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate added = dt.plusWeeks(6); LocalDate added = dt.plus(Period.weeks(6)); LocalDate added = dt.withFieldAdded(DurationFieldType.weeks(), 6);
weeks
- the amount of weeks to add, may be negativepublic LocalDate plusDays(int days)
This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate added = dt.plusDays(6); LocalDate added = dt.plus(Period.days(6)); LocalDate added = dt.withFieldAdded(DurationFieldType.days(), 6);
days
- the amount of days to add, may be negativepublic LocalDate minus(ReadablePeriod period)
If the amount is zero or null, then this
is returned.
This method is typically used to subtract complex period instances.
Subtracting one field is best achieved using methods
like minusYears(int)
.
Unsupported time fields are ignored, thus subtracting a period of 24 hours will not have any effect.
period
- the period to reduce this instant byArithmeticException
- if the result exceeds the internal capacitypublic LocalDate minusYears(int years)
This subtracts the specified number of years from the date. If subtracting years makes the day-of-month invalid, it is adjusted to the last valid day in the month. This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate subtracted = dt.minusYears(6); LocalDate subtracted = dt.minus(Period.years(6)); LocalDate subtracted = dt.withFieldAdded(DurationFieldType.years(), -6);
years
- the amount of years to subtract, may be negativepublic LocalDate minusMonths(int months)
This subtracts the specified number of months from the date. The subtraction may change the year, but the day-of-month is normally unchanged. If subtracting months makes the day-of-month invalid, it is adjusted to the last valid day in the month. This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate subtracted = dt.minusMonths(6); LocalDate subtracted = dt.minus(Period.months(6)); LocalDate subtracted = dt.withFieldAdded(DurationFieldType.months(), -6);
months
- the amount of months to subtract, may be negativepublic LocalDate minusWeeks(int weeks)
This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate subtracted = dt.minusWeeks(6); LocalDate subtracted = dt.minus(Period.weeks(6)); LocalDate subtracted = dt.withFieldAdded(DurationFieldType.weeks(), -6);
weeks
- the amount of weeks to subtract, may be negativepublic LocalDate minusDays(int days)
This LocalDate instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalDate subtracted = dt.minusDays(6); LocalDate subtracted = dt.minus(Period.days(6)); LocalDate subtracted = dt.withFieldAdded(DurationFieldType.days(), -6);
days
- the amount of days to subtract, may be negativepublic LocalDate.Property property(DateTimeFieldType fieldType)
fieldType
- the field type to get the chronology forIllegalArgumentException
- if the field is null or unsupportedpublic int getEra()
public int getCenturyOfEra()
public int getYearOfEra()
public int getYearOfCentury()
public int getYear()
public int getWeekyear()
The weekyear is the year that matches with the weekOfWeekyear field. In the standard ISO8601 week algorithm, the first week of the year is that in which at least 4 days are in the year. As a result of this definition, day 1 of the first week may be in the previous year. The weekyear allows you to query the effective year for that day.
public int getMonthOfYear()
public int getWeekOfWeekyear()
This field is associated with the "weekyear" via getWeekyear()
.
In the standard ISO8601 week algorithm, the first week of the year
is that in which at least 4 days are in the year. As a result of this
definition, day 1 of the first week may be in the previous year.
public int getDayOfYear()
public int getDayOfMonth()
The values for the day of month are defined in DateTimeConstants
.
public int getDayOfWeek()
The values for the day of week are defined in DateTimeConstants
.
public LocalDate withEra(int era)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of era changed.
era
- the era to setIllegalArgumentException
- if the value is invalidpublic LocalDate withCenturyOfEra(int centuryOfEra)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of century of era changed.
centuryOfEra
- the century of era to setIllegalArgumentException
- if the value is invalidpublic LocalDate withYearOfEra(int yearOfEra)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of year of era changed.
yearOfEra
- the year of era to setIllegalArgumentException
- if the value is invalidpublic LocalDate withYearOfCentury(int yearOfCentury)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of year of century changed.
yearOfCentury
- the year of century to setIllegalArgumentException
- if the value is invalidpublic LocalDate withYear(int year)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of year changed.
year
- the year to setIllegalArgumentException
- if the value is invalidpublic LocalDate withWeekyear(int weekyear)
The weekyear is the year that matches with the weekOfWeekyear field. In the standard ISO8601 week algorithm, the first week of the year is that in which at least 4 days are in the year. As a result of this definition, day 1 of the first week may be in the previous year. The weekyear allows you to query the effective year for that day.
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of weekyear changed.
weekyear
- the weekyear to setIllegalArgumentException
- if the value is invalidpublic LocalDate withMonthOfYear(int monthOfYear)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of month of year changed.
monthOfYear
- the month of year to setIllegalArgumentException
- if the value is invalidpublic LocalDate withWeekOfWeekyear(int weekOfWeekyear)
This field is associated with the "weekyear" via withWeekyear(int)
.
In the standard ISO8601 week algorithm, the first week of the year
is that in which at least 4 days are in the year. As a result of this
definition, day 1 of the first week may be in the previous year.
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of week of weekyear changed.
weekOfWeekyear
- the week of weekyear to setIllegalArgumentException
- if the value is invalidpublic LocalDate withDayOfYear(int dayOfYear)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of day of year changed.
dayOfYear
- the day of year to setIllegalArgumentException
- if the value is invalidpublic LocalDate withDayOfMonth(int dayOfMonth)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of day of month changed.
dayOfMonth
- the day of month to setIllegalArgumentException
- if the value is invalidpublic LocalDate withDayOfWeek(int dayOfWeek)
LocalDate is immutable, so there are no set methods. Instead, this method returns a new instance with the value of day of week changed.
dayOfWeek
- the day of week to setIllegalArgumentException
- if the value is invalidpublic LocalDate.Property era()
public LocalDate.Property centuryOfEra()
public LocalDate.Property yearOfCentury()
public LocalDate.Property yearOfEra()
public LocalDate.Property year()
public LocalDate.Property weekyear()
public LocalDate.Property monthOfYear()
public LocalDate.Property weekOfWeekyear()
public LocalDate.Property dayOfYear()
public LocalDate.Property dayOfMonth()
public LocalDate.Property dayOfWeek()
public String toString()
toString
in interface ReadablePartial
toString
in class Object
public String toString(String pattern)
pattern
- the pattern specification, null means use toString
DateTimeFormat
public String toString(String pattern, Locale locale) throws IllegalArgumentException
pattern
- the pattern specification, null means use toString
locale
- Locale to use, null means defaultIllegalArgumentException
- if the pattern is invalidDateTimeFormat
Copyright © 2002–2024 Joda.org. All rights reserved.