@Deprecated public final class YearMonthDay extends BasePartial implements ReadablePartial, java.io.Serializable
NOTE: This class only supports the three fields listed above. Thus, you
cannot query the dayOfWeek or centuryOfEra fields for example.
The new LocalDate
class removes this restriction.
Calculations on YearMonthDay are performed using a Chronology
.
This chronology is set to be in the UTC time zone for all calculations.
Each individual field can be queried in two ways:
getMonthOfYear()
monthOfYear().get()
monthOfYear().get()
monthOfYear().getAsText()
monthOfYear().getAsShortText()
monthOfYear().getMaximumValue()
monthOfYear().addToCopy()
monthOfYear().setCopy()
YearMonthDay 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 |
YearMonthDay.Property
Deprecated.
Use LocalDate which has a much better internal implementation
|
Modifier and Type | Field and Description |
---|---|
static int |
DAY_OF_MONTH
Deprecated.
The index of the dayOfMonth field in the field array
|
static int |
MONTH_OF_YEAR
Deprecated.
The index of the monthOfYear field in the field array
|
static int |
YEAR
Deprecated.
The index of the year field in the field array
|
Constructor and Description |
---|
YearMonthDay()
Deprecated.
Constructs a YearMonthDay with the current date, using ISOChronology in
the default zone to extract the fields.
|
YearMonthDay(Chronology chronology)
Deprecated.
Constructs a YearMonthDay with the current date, using the specified chronology
and zone to extract the fields.
|
YearMonthDay(DateTimeZone zone)
Deprecated.
Constructs a YearMonthDay with the current date, using ISOChronology in
the specified zone to extract the fields.
|
YearMonthDay(int year,
int monthOfYear,
int dayOfMonth)
Deprecated.
Constructs a YearMonthDay with specified time field values
using
ISOChronology in the default zone. |
YearMonthDay(int year,
int monthOfYear,
int dayOfMonth,
Chronology chronology)
Deprecated.
Constructs a YearMonthDay with specified time field values.
|
YearMonthDay(long instant)
Deprecated.
Constructs a YearMonthDay extracting the partial fields from the specified
milliseconds using the ISOChronology in the default zone.
|
YearMonthDay(long instant,
Chronology chronology)
Deprecated.
Constructs a YearMonthDay extracting the partial fields from the specified
milliseconds using the chronology provided.
|
YearMonthDay(java.lang.Object instant)
Deprecated.
Constructs a YearMonthDay from an Object that represents a time.
|
YearMonthDay(java.lang.Object instant,
Chronology chronology)
Deprecated.
Constructs a YearMonthDay from an Object that represents a time, using the
specified chronology.
|
Modifier and Type | Method and Description |
---|---|
YearMonthDay.Property |
dayOfMonth()
Deprecated.
Get the day of month field property which provides access to advanced functionality.
|
static YearMonthDay |
fromCalendarFields(java.util.Calendar calendar)
Deprecated.
Constructs a YearMonthDay from a
java.util.Calendar
using exactly the same field values avoiding any time zone effects. |
static YearMonthDay |
fromDateFields(java.util.Date date)
Deprecated.
Constructs a YearMonthDay from a
java.util.Date
using exactly the same field values avoiding any time zone effects. |
int |
getDayOfMonth()
Deprecated.
Get the day of month field value.
|
DateTimeFieldType |
getFieldType(int index)
Deprecated.
Gets the field type at the specified index.
|
DateTimeFieldType[] |
getFieldTypes()
Deprecated.
Gets an array of the field type of each of the fields that this partial supports.
|
int |
getMonthOfYear()
Deprecated.
Get the month of year field value.
|
int |
getYear()
Deprecated.
Get the year field value.
|
YearMonthDay |
minus(ReadablePeriod period)
Deprecated.
Returns a copy of this date with the specified period taken away.
|
YearMonthDay |
minusDays(int days)
Deprecated.
Returns a copy of this date minus the specified number of days.
|
YearMonthDay |
minusMonths(int months)
Deprecated.
Returns a copy of this date minus the specified number of months.
|
YearMonthDay |
minusYears(int years)
Deprecated.
Returns a copy of this date minus the specified number of years.
|
YearMonthDay.Property |
monthOfYear()
Deprecated.
Get the month of year field property which provides access to advanced functionality.
|
YearMonthDay |
plus(ReadablePeriod period)
Deprecated.
Returns a copy of this date with the specified period added.
|
YearMonthDay |
plusDays(int days)
Deprecated.
Returns a copy of this date plus the specified number of days.
|
YearMonthDay |
plusMonths(int months)
Deprecated.
Returns a copy of this date plus the specified number of months.
|
YearMonthDay |
plusYears(int years)
Deprecated.
Returns a copy of this date plus the specified number of years.
|
YearMonthDay.Property |
property(DateTimeFieldType type)
Deprecated.
Gets the property object for the specified type, which contains
many useful methods.
|
int |
size()
Deprecated.
Gets the number of fields in this partial.
|
DateMidnight |
toDateMidnight()
Deprecated.
Converts this object to a DateMidnight in the default time zone.
|
DateMidnight |
toDateMidnight(DateTimeZone zone)
Deprecated.
Converts this object to a DateMidnight.
|
DateTime |
toDateTime(TimeOfDay time)
Deprecated.
Converts this object to a DateTime using a TimeOfDay to fill in the
missing fields and using the default time zone.
|
DateTime |
toDateTime(TimeOfDay time,
DateTimeZone zone)
Deprecated.
Converts this object to a DateTime using a TimeOfDay to fill in the
missing fields.
|
DateTime |
toDateTimeAtCurrentTime()
Deprecated.
Converts this partial 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)
Deprecated.
Converts this partial 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.
Converts this YearMonthDay to a full datetime at midnight using the
default time zone.
|
DateTime |
toDateTimeAtMidnight(DateTimeZone zone)
Deprecated.
Converts this YearMonthDay to a full datetime at midnight using the
specified time zone.
|
Interval |
toInterval()
Deprecated.
Converts this object to an Interval representing the whole day
in the default time zone.
|
Interval |
toInterval(DateTimeZone zone)
Deprecated.
Converts this object to an Interval representing the whole day.
|
LocalDate |
toLocalDate()
Deprecated.
Converts this object to a LocalDate with the same date and chronology.
|
java.lang.String |
toString()
Deprecated.
Output the date in the ISO8601 format YYYY-MM-DD.
|
YearMonthDay |
withChronologyRetainFields(Chronology newChronology)
Deprecated.
Returns a copy of this date with the specified chronology.
|
YearMonthDay |
withDayOfMonth(int dayOfMonth)
Deprecated.
Returns a copy of this date with the day of month field updated.
|
YearMonthDay |
withField(DateTimeFieldType fieldType,
int value)
Deprecated.
Returns a copy of this date with the specified field set to a new value.
|
YearMonthDay |
withFieldAdded(DurationFieldType fieldType,
int amount)
Deprecated.
Returns a copy of this date with the value of the specified field increased.
|
YearMonthDay |
withMonthOfYear(int monthOfYear)
Deprecated.
Returns a copy of this date with the month of year field updated.
|
YearMonthDay |
withPeriodAdded(ReadablePeriod period,
int scalar)
Deprecated.
Returns a copy of this date with the specified period added.
|
YearMonthDay |
withYear(int year)
Deprecated.
Returns a copy of this date with the year field updated.
|
YearMonthDay.Property |
year()
Deprecated.
Get the year field property which provides access to advanced functionality.
|
getChronology, getValue, getValues, toString, toString
compareTo, equals, get, getField, getFields, hashCode, indexOf, isAfter, isBefore, isEqual, isSupported, toDateTime, toString
equals, get, getChronology, getField, getValue, hashCode, isSupported, toDateTime
public static final int YEAR
public static final int MONTH_OF_YEAR
public static final int DAY_OF_MONTH
public YearMonthDay()
The constructor uses the default time zone, resulting in the local time being initialised. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
public YearMonthDay(DateTimeZone zone)
The constructor uses the specified time zone to obtain the current date. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
zone
- the zone to use, null means default zonepublic YearMonthDay(Chronology chronology)
The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
chronology
- the chronology, null means ISOChronology in the default zonepublic YearMonthDay(long instant)
The constructor uses the default time zone, resulting in the local time being initialised. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
instant
- the milliseconds from 1970-01-01T00:00:00Zpublic YearMonthDay(long instant, Chronology chronology)
The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
instant
- the milliseconds from 1970-01-01T00:00:00Zchronology
- the chronology, null means ISOChronology in the default zonepublic YearMonthDay(java.lang.Object instant)
The recognised object types are defined in
ConverterManager
and
include ReadableInstant, String, Calendar and Date.
The String formats are described by ISODateTimeFormat.dateOptionalTimeParser()
.
The chronology used will be derived from the object, defaulting to ISO.
NOTE: Prior to v1.3 the string format was described by
ISODateTimeFormat.dateTimeParser()
. Time ony strings are now rejected.
instant
- the datetime object, null means nowjava.lang.IllegalArgumentException
- if the instant is invalidpublic YearMonthDay(java.lang.Object instant, Chronology chronology)
The recognised object types are defined in
ConverterManager
and
include ReadableInstant, String, Calendar and Date.
The String formats are described by ISODateTimeFormat.dateOptionalTimeParser()
.
The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC). The specified chronology overrides that of the object.
NOTE: Prior to v1.3 the string format was described by
ISODateTimeFormat.dateTimeParser()
. Time only strings are now rejected.
instant
- the datetime object, null means nowchronology
- the chronology, null means ISO defaultjava.lang.IllegalArgumentException
- if the instant is invalidpublic YearMonthDay(int year, int monthOfYear, int dayOfMonth)
ISOChronology
in the default zone.
The constructor uses the no time zone initialising the fields as provided. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
year
- the yearmonthOfYear
- the month of the yeardayOfMonth
- the day of the monthpublic YearMonthDay(int year, int monthOfYear, int dayOfMonth, Chronology chronology)
The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).
year
- the yearmonthOfYear
- the month of the yeardayOfMonth
- the day of the monthchronology
- the chronology, null means ISOChronology in the default zonepublic static YearMonthDay fromCalendarFields(java.util.Calendar calendar)
java.util.Calendar
using exactly the same field values avoiding any time zone effects.
Each field is queried from the Calendar and assigned to the YearMonthDay. This is useful if you have been using the Calendar as a local date, ignoing the zone.
This factory method ignores the type of the calendar and always
creates a YearMonthDay 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 fromjava.lang.IllegalArgumentException
- if the calendar is nulljava.lang.IllegalArgumentException
- if the date is invalid for the ISO chronologypublic static YearMonthDay fromDateFields(java.util.Date date)
java.util.Date
using exactly the same field values avoiding any time zone effects.
Each field is queried from the Date and assigned to the YearMonthDay. This is useful if you have been using the Date as a local date, ignoing the zone.
This factory method always creates a YearMonthDay with ISO chronology.
date
- the Date to extract fields fromjava.lang.IllegalArgumentException
- if the calendar is nulljava.lang.IllegalArgumentException
- if the date is invalid for the ISO chronologypublic int size()
size
in interface ReadablePartial
public DateTimeFieldType getFieldType(int index)
getFieldType
in interface ReadablePartial
getFieldType
in class AbstractPartial
index
- the index to retrievejava.lang.IndexOutOfBoundsException
- if the index is invalidpublic DateTimeFieldType[] getFieldTypes()
The fields are returned largest to smallest, Year, Month, Day
getFieldTypes
in class AbstractPartial
public YearMonthDay withChronologyRetainFields(Chronology newChronology)
This method retains the values of the fields, thus the result will typically refer to a different instant.
The time zone of the specified chronology is ignored, as YearMonthDay operates without a time zone.
newChronology
- the new chronology, null means ISOjava.lang.IllegalArgumentException
- if the values are invalid for the new chronologypublic YearMonthDay withField(DateTimeFieldType fieldType, int value)
For example, if the field type is dayOfMonth
then the day
would be changed in the returned instance.
These three lines are equivalent:
YearMonthDay updated = ymd.withField(DateTimeFieldType.dayOfMonth(), 6); YearMonthDay updated = ymd.dayOfMonth().setCopy(6); YearMonthDay updated = ymd.property(DateTimeFieldType.dayOfMonth()).setCopy(6);
fieldType
- the field type to set, not nullvalue
- the value to setjava.lang.IllegalArgumentException
- if the value is null or invalidpublic YearMonthDay withFieldAdded(DurationFieldType fieldType, int amount)
If the addition is zero, then this
is returned.
These three lines are equivalent:
YearMonthDay added = ymd.withFieldAdded(DurationFieldType.days(), 6); YearMonthDay added = ymd.plusDays(6); YearMonthDay added = ymd.dayOfMonth().addToCopy(6);
fieldType
- the field type to add to, not nullamount
- the amount to addjava.lang.IllegalArgumentException
- if the value is null or invalidjava.lang.ArithmeticException
- if the new datetime exceeds the capacitypublic YearMonthDay withPeriodAdded(ReadablePeriod period, int scalar)
If the addition is zero, then this
is returned.
Fields in the period that aren't present in the partial are ignored.
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)
.
period
- the period to add to this one, null means zeroscalar
- the amount of times to add, such as -1 to subtract oncejava.lang.ArithmeticException
- if the new datetime exceeds the capacitypublic YearMonthDay 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)
.
period
- the duration to add to this one, null means zerojava.lang.ArithmeticException
- if the new datetime exceeds the capacity of a longpublic YearMonthDay plusYears(int years)
This date instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
YearMonthDay added = dt.plusYears(6); YearMonthDay added = dt.plus(Period.years(6)); YearMonthDay added = dt.withFieldAdded(DurationFieldType.years(), 6);
years
- the amount of years to add, may be negativepublic YearMonthDay plusMonths(int months)
This date instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
YearMonthDay added = dt.plusMonths(6); YearMonthDay added = dt.plus(Period.months(6)); YearMonthDay added = dt.withFieldAdded(DurationFieldType.months(), 6);
months
- the amount of months to add, may be negativepublic YearMonthDay plusDays(int days)
This date instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
YearMonthDay added = dt.plusDays(6); YearMonthDay added = dt.plus(Period.days(6)); YearMonthDay added = dt.withFieldAdded(DurationFieldType.days(), 6);
days
- the amount of days to add, may be negativepublic YearMonthDay 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)
.
period
- the period to reduce this instant byjava.lang.ArithmeticException
- if the new datetime exceeds the capacity of a longpublic YearMonthDay minusYears(int years)
This datetime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
YearMonthDay subtracted = dt.minusYears(6); YearMonthDay subtracted = dt.minus(Period.years(6)); YearMonthDay subtracted = dt.withFieldAdded(DurationFieldType.years(), -6);
years
- the amount of years to subtract, may be negativepublic YearMonthDay minusMonths(int months)
This datetime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
YearMonthDay subtracted = dt.minusMonths(6); YearMonthDay subtracted = dt.minus(Period.months(6)); YearMonthDay subtracted = dt.withFieldAdded(DurationFieldType.months(), -6);
months
- the amount of months to subtract, may be negativepublic YearMonthDay minusDays(int days)
This datetime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
YearMonthDay subtracted = dt.minusDays(6); YearMonthDay subtracted = dt.minus(Period.days(6)); YearMonthDay subtracted = dt.withFieldAdded(DurationFieldType.days(), -6);
days
- the amount of days to subtract, may be negativepublic YearMonthDay.Property property(DateTimeFieldType type)
type
- the field type to get the property forjava.lang.IllegalArgumentException
- if the field is null or unsupportedpublic LocalDate toLocalDate()
public DateTime toDateTimeAtMidnight()
public DateTime toDateTimeAtMidnight(DateTimeZone zone)
This method uses the chronology from this instance plus the time zone specified.
zone
- the zone to use, null means defaultpublic DateTime toDateTimeAtCurrentTime()
public DateTime toDateTimeAtCurrentTime(DateTimeZone zone)
This method uses the chronology from this instance plus the time zone specified.
zone
- the zone to use, null means defaultpublic DateMidnight toDateMidnight()
public DateMidnight toDateMidnight(DateTimeZone zone)
zone
- the zone to get the DateMidnight in, null means defaultpublic DateTime toDateTime(TimeOfDay time)
The resulting chronology is determined by the chronology of this YearMonthDay plus the time zone. The chronology of the time is ignored - only the field values are used.
time
- the time of day to use, null means current timepublic DateTime toDateTime(TimeOfDay time, DateTimeZone zone)
The resulting chronology is determined by the chronology of this YearMonthDay plus the time zone. The chronology of the time is ignored - only the field values are used.
time
- the time of day to use, null means current timezone
- the zone to get the DateTime in, null means defaultpublic Interval toInterval()
public Interval toInterval(DateTimeZone zone)
zone
- the zone to get the Interval in, null means defaultpublic int getYear()
public int getMonthOfYear()
public int getDayOfMonth()
public YearMonthDay withYear(int year)
YearMonthDay 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 setjava.lang.IllegalArgumentException
- if the value is invalidpublic YearMonthDay withMonthOfYear(int monthOfYear)
YearMonthDay 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 setjava.lang.IllegalArgumentException
- if the value is invalidpublic YearMonthDay withDayOfMonth(int dayOfMonth)
YearMonthDay 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 setjava.lang.IllegalArgumentException
- if the value is invalidpublic YearMonthDay.Property year()
public YearMonthDay.Property monthOfYear()
public YearMonthDay.Property dayOfMonth()
public java.lang.String toString()
toString
in interface ReadablePartial
toString
in class java.lang.Object
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"