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
- 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.getField()Gets the field being used.Gets the LocalDateTime object linked to this property.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:
getFieldin classAbstractReadableInstantFieldProperty- Returns:
- the field
-
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
-