Usage
The API is immutable. An existing instance is never changed. All manipulating methods (plus
, at
, etc.) return new instances.
An existing instance is always valid. If you try to create an invalid value, you'll get an exception instead of a null
or undefined
value.
Method naming conventions
The API uses consistently named methods.
method name or prefix | usage | examples |
---|---|---|
.of |
static factory method for building by parts | LocalDate.of(2016, 2, 23) LocalDate.ofInstant(i) |
.parse |
static factory method for parsing strings | LocalDate.parse('2016-02-23') LocalTime.parse('12:34') |
.is |
checks for certain conditions | t1.isAfter(t2) d1.isLeapYear() |
.equals |
checks for equivalence between two instances | t1.equals(t2) |
.with |
the immutable equivalent of a setter | d.withDayOfMonth(1) t.withHour(9) |
.plus |
adds an amount to an object | t.plusMinutes(5) d.plus(3, ChronoUnit.YEARS) |
.minus |
subtracts an amount from an object | t.minusHours(1) d.minus(1, ChronoUnit.DAYS) |
.to |
converts this object to another type | dt.toLocalDate() d1.until(d2).toTotalMonths() |
.at |
combines one object with another | date.atTime(time) localDate.atZone(tz) |
Note that getter methods for instance properties omit the get keyword: d.year()
, not .d.getYear()