Class LocalDateTime.Property
- All Implemented Interfaces:
Serializable
- Enclosing class:
LocalDateTime
The simplest use of this class is as an alternative get method, here used to get the year '1972' (as an int) and the month 'December' (as a String).
LocalDateTime dt = new LocalDateTime(1972, 12, 3, 0, 0); int year = dt.year().get(); String monthStr = dt.month().getAsText();
Methods are also provided that allow date modification. These return new instances of LocalDateTime - they do not modify the original. The example below yields two independent immutable date objects 20 years apart.
LocalDateTime dt = new LocalDateTime(1972, 12, 3, 0, 0); LocalDateTime dt1920 = dt.year().setCopy(1920);
LocalDateTime.Property itself is thread-safe and immutable, as well as the LocalDateTime being operated on.
- Since:
- 1.3
- Author:
- Stephen Colebourne, Brian S O'Neill
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionaddToCopy
(int value) Adds to this field in a copy of this LocalDateTime.addToCopy
(long value) Adds to this field in a copy of this LocalDateTime.addWrapFieldToCopy
(int value) Adds to this field, possibly wrapped, in a copy of this LocalDateTime.protected Chronology
Gets the chronology of the datetime that this property is linked to.getField()
Gets the field being used.Gets the LocalDateTime object linked to this property.protected long
Gets the milliseconds of the datetime that this property is linked to.Rounds to the highest whole unit of this field on a copy of this LocalDateTime.Rounds to the lowest whole unit of this field on a copy of this LocalDateTime.Rounds to the nearest whole unit of this field on a copy of this LocalDateTime, favoring the ceiling if halfway.Rounds to the nearest whole unit of this field on a copy of this LocalDateTime.Rounds to the nearest whole unit of this field on a copy of this LocalDateTime, favoring the floor if halfway.setCopy
(int value) Sets this field in a copy of the LocalDateTime.Sets this field in a copy of the LocalDateTime to a parsed text value.Sets this field in a copy of the LocalDateTime to a parsed text value.Returns a new LocalDateTime with this field set to the maximum value for this field.Returns a new LocalDateTime with this field set to the minimum value for this field.Methods inherited from class org.joda.time.field.AbstractReadableInstantFieldProperty
compareTo, compareTo, equals, get, getAsShortText, getAsShortText, getAsString, getAsText, getAsText, getDifference, getDifferenceAsLong, getDurationField, getFieldType, getLeapAmount, getLeapDurationField, getMaximumShortTextLength, getMaximumTextLength, getMaximumValue, getMaximumValueOverall, getMinimumValue, getMinimumValueOverall, getName, getRangeDurationField, hashCode, isLeap, remainder, toInterval, toString
-
Method Details
-
getField
Gets the field being used.- Specified by:
getField
in classAbstractReadableInstantFieldProperty
- Returns:
- the field
-
getMillis
protected long getMillis()Gets the milliseconds of the datetime that this property is linked to.- Specified by:
getMillis
in classAbstractReadableInstantFieldProperty
- Returns:
- the milliseconds
-
getChronology
Gets the chronology of the datetime that this property is linked to.- Overrides:
getChronology
in classAbstractReadableInstantFieldProperty
- Returns:
- the chronology
- Since:
- 1.4
-
getLocalDateTime
Gets the LocalDateTime object linked to this property.- Returns:
- the linked LocalDateTime
-
addToCopy
Adds to this field in a copy of this LocalDateTime.The LocalDateTime attached to this property is unchanged by this call.
- Parameters:
value
- the value to add to the field in the copy- Returns:
- a copy of the LocalDateTime with the field value changed
- Throws:
IllegalArgumentException
- if the value isn't valid
-
addToCopy
Adds to this field in a copy of this LocalDateTime.The LocalDateTime attached to this property is unchanged by this call.
- Parameters:
value
- the value to add to the field in the copy- Returns:
- a copy of the LocalDateTime with the field value changed
- Throws:
IllegalArgumentException
- if the value isn't valid
-
addWrapFieldToCopy
Adds to this field, possibly wrapped, in a copy of this LocalDateTime. A field wrapped operation only changes this field. Thus 31st January addWrapField one day goes to the 1st January.The LocalDateTime attached to this property is unchanged by this call.
- Parameters:
value
- the value to add to the field in the copy- Returns:
- a copy of the LocalDateTime with the field value changed
- Throws:
IllegalArgumentException
- if the value isn't valid
-
setCopy
Sets this field in a copy of the LocalDateTime.The LocalDateTime attached to this property is unchanged by this call.
- Parameters:
value
- the value to set the field in the copy to- Returns:
- a copy of the LocalDateTime with the field value changed
- Throws:
IllegalArgumentException
- if the value isn't valid
-
setCopy
Sets this field in a copy of the LocalDateTime to a parsed text value.The LocalDateTime attached to this property is unchanged by this call.
- Parameters:
text
- the text value to setlocale
- optional locale to use for selecting a text symbol- Returns:
- a copy of the LocalDateTime with the field value changed
- Throws:
IllegalArgumentException
- if the text value isn't valid
-
setCopy
Sets this field in a copy of the LocalDateTime to a parsed text value.The LocalDateTime attached to this property is unchanged by this call.
- Parameters:
text
- the text value to set- Returns:
- a copy of the LocalDateTime with the field value changed
- Throws:
IllegalArgumentException
- if the text value isn't valid
-
withMaximumValue
Returns a new LocalDateTime with this field set to the maximum value for this field.This operation is useful for obtaining a LocalDateTime on the last day of the month, as month lengths vary.
LocalDateTime lastDayOfMonth = dt.dayOfMonth().withMaximumValue();
The LocalDateTime attached to this property is unchanged by this call.
- Returns:
- a copy of the LocalDateTime with this field set to its maximum
-
withMinimumValue
Returns a new LocalDateTime with this field set to the minimum value for this field.The LocalDateTime attached to this property is unchanged by this call.
- Returns:
- a copy of the LocalDateTime with this field set to its minimum
-
roundFloorCopy
Rounds to the lowest whole unit of this field on a copy of this LocalDateTime.For example, rounding floor on the hourOfDay field of a LocalDateTime where the time is 10:30 would result in new LocalDateTime with the time of 10:00.
- Returns:
- a copy of the LocalDateTime with the field value changed
-
roundCeilingCopy
Rounds to the highest whole unit of this field on a copy of this LocalDateTime.For example, rounding floor on the hourOfDay field of a LocalDateTime where the time is 10:30 would result in new LocalDateTime with the time of 11:00.
- Returns:
- a copy of the LocalDateTime with the field value changed
-
roundHalfFloorCopy
Rounds to the nearest whole unit of this field on a copy of this LocalDateTime, favoring the floor if halfway.- Returns:
- a copy of the LocalDateTime with the field value changed
-
roundHalfCeilingCopy
Rounds to the nearest whole unit of this field on a copy of this LocalDateTime, favoring the ceiling if halfway.- Returns:
- a copy of the LocalDateTime with the field value changed
-
roundHalfEvenCopy
Rounds to the nearest whole unit of this field on a copy of this LocalDateTime. If halfway, the ceiling is favored over the floor only if it makes this field's value even.- Returns:
- a copy of the LocalDateTime with the field value changed
-