ChronoLocalDateTimeImpl

A date-time without a time-zone for the calendar neutral API. !(p) {@code ChronoLocalDateTime} is an immutable date-time object that represents a date-time, often viewed as year-month-day-hour-minute-second. This object can also access other fields such as day-of-year, day-of-week and week-of-year. !(p) This class stores all date and time fields, to a precision of nanoseconds. It does not store or represent a time-zone. For example, the value "2nd October 2007 at 13:45.30.123456789" can be stored _in an {@code ChronoLocalDateTime}.

@implSpec This class is immutable and thread-safe. @serial @param !(D) the concrete type for the date of this date-time @since 1.8

final
class ChronoLocalDateTimeImpl : ChronoLocalDateTime!(D), Temporal , TemporalAdjuster () if () {}

Members

Functions

_with
ChronoLocalDateTimeImpl!(D) _with(TemporalAdjuster adjuster)
Undocumented in source. Be warned that the author may not have intended to support it.
_with
ChronoLocalDateTimeImpl!(D) _with(TemporalField field, long newValue)
Undocumented in source. Be warned that the author may not have intended to support it.
adjustInto
Temporal adjustInto(Temporal temporal)
Undocumented in source. Be warned that the author may not have intended to support it.
atZone
ChronoZonedDateTime!(D) atZone(ZoneId zone)
Undocumented in source. Be warned that the author may not have intended to support it.
compareTo
int compareTo(ChronoLocalDateTime!(ChronoLocalDate) other)
Undocumented in source. Be warned that the author may not have intended to support it.
get
int get(TemporalField field)
Undocumented in source. Be warned that the author may not have intended to support it.
getChronology
Chronology getChronology()
Undocumented in source. Be warned that the author may not have intended to support it.
getLong
long getLong(TemporalField field)
Undocumented in source. Be warned that the author may not have intended to support it.
isAfter
bool isAfter(ChronoLocalDateTime!(ChronoLocalDate) other)
Undocumented in source. Be warned that the author may not have intended to support it.
isBefore
bool isBefore(ChronoLocalDateTime!(ChronoLocalDate) other)
Undocumented in source. Be warned that the author may not have intended to support it.
isEqual
bool isEqual(ChronoLocalDateTime!(ChronoLocalDate) other)
Undocumented in source. Be warned that the author may not have intended to support it.
isSupported
bool isSupported(TemporalField field)
Undocumented in source. Be warned that the author may not have intended to support it.
isSupported
bool isSupported(TemporalUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
minus
ChronoLocalDateTime!(D) minus(TemporalAmount amount)
Undocumented in source. Be warned that the author may not have intended to support it.
minus
ChronoLocalDateTime!(D) minus(long amountToSubtract, TemporalUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
opCmp
int opCmp(ChronoLocalDateTime!(ChronoLocalDate) other)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(Object obj)
Undocumented in source. Be warned that the author may not have intended to support it.
plus
ChronoLocalDateTime!(D) plus(TemporalAmount amount)
Undocumented in source. Be warned that the author may not have intended to support it.
plus
ChronoLocalDateTimeImpl!(D) plus(long amountToAdd, TemporalUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
plusSeconds
ChronoLocalDateTimeImpl!(D) plusSeconds(long seconds)
Undocumented in source. Be warned that the author may not have intended to support it.
range
ValueRange range(TemporalField field)
Undocumented in source. Be warned that the author may not have intended to support it.
toEpochSecond
long toEpochSecond(ZoneOffset offset)
Undocumented in source. Be warned that the author may not have intended to support it.
toHash
size_t toHash()
Undocumented in source. Be warned that the author may not have intended to support it.
toInstant
Instant toInstant(ZoneOffset offset)
Undocumented in source. Be warned that the author may not have intended to support it.
toLocalDate
D toLocalDate()
Undocumented in source. Be warned that the author may not have intended to support it.
toLocalTime
LocalTime toLocalTime()
Undocumented in source. Be warned that the author may not have intended to support it.
toString
string toString()
Undocumented in source. Be warned that the author may not have intended to support it.
until
long until(Temporal endExclusive, TemporalUnit unit)
Undocumented in source. Be warned that the author may not have intended to support it.
writeExternal
void writeExternal(ObjectOutput _out)

Defend against malicious streams.

Static functions

ensureValid
ChronoLocalDateTimeImpl!(R) ensureValid(Chronology chrono, Temporal temporal)

Casts the {@code Temporal} to {@code ChronoLocalDateTime} ensuring it bas the specified chronology.

of
ChronoLocalDateTimeImpl!(R) of(R date, LocalTime time)

Obtains an instance of {@code ChronoLocalDateTime} from a date and time.

readExternal
ChronoLocalDateTime!(ChronoLocalDate) readExternal(ObjectInput _in)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

HOURS_PER_DAY
enum int HOURS_PER_DAY;

Hours per day.

MICROS_PER_DAY
enum long MICROS_PER_DAY;

Microseconds per day.

MILLIS_PER_DAY
enum long MILLIS_PER_DAY;

Milliseconds per day.

MINUTES_PER_DAY
enum int MINUTES_PER_DAY;

Minutes per day.

MINUTES_PER_HOUR
enum int MINUTES_PER_HOUR;

Minutes per hour.

NANOS_PER_DAY
enum long NANOS_PER_DAY;

Nanos per day.

NANOS_PER_HOUR
enum long NANOS_PER_HOUR;

Nanos per hour.

NANOS_PER_MINUTE
enum long NANOS_PER_MINUTE;

Nanos per minute.

NANOS_PER_SECOND
enum long NANOS_PER_SECOND;

Nanos per second.

SECONDS_PER_DAY
enum int SECONDS_PER_DAY;

Seconds per day.

SECONDS_PER_HOUR
enum int SECONDS_PER_HOUR;

Seconds per hour.

SECONDS_PER_MINUTE
enum int SECONDS_PER_MINUTE;

Seconds per minute.

Inherited Members

From Temporal

isSupported
bool isSupported(TemporalUnit unit)

Checks if the specified unit is supported. !(p) This checks if the specified unit can be added to, or subtracted from, this date-time. If false, then calling the {@link #plus(long, TemporalUnit)} and {@link #minus(long, TemporalUnit) minus} methods will throw an exception.

isSupported
bool isSupported(TemporalField field)
Undocumented in source.
_with
Temporal _with(TemporalAdjuster adjuster)

Returns an adjusted object of the same type as this object with the adjustment made. !(p) This adjusts this date-time according to the rules of the specified adjuster. A simple adjuster might simply set the one of the fields, such as the year field. A more complex adjuster might set the date to the last day of the month. A selection of common adjustments is provided _in {@link hunt.time.temporal.TemporalAdjusters TemporalAdjusters}. These include finding the "last day of the month" and "next Wednesday". The adjuster is responsible for handling special cases, such as the varying lengths of month and leap years. !(p) Some example code indicating how and why this method is used: !(pre) date = date._with(Month.JULY); // most key classes implement TemporalAdjuster date = date._with(lastDayOfMonth()); // static import from Adjusters date = date._with(next(WEDNESDAY)); // static import from Adjusters and DayOfWeek </pre>

_with
Temporal _with(TemporalField field, long newValue)

Returns an object of the same type as this object with the specified field altered. !(p) This returns a new object based on this one with the value for the specified field changed. For example, on a {@code LocalDate}, this could be used to set the year, month or day-of-month. The returned object will have the same observable type as this object. !(p) In some cases, changing a field is not fully defined. For example, if the target object is a date representing the 31st January, then changing the month to February would be unclear. In cases like this, the field is responsible for resolving the result. Typically it will choose the previous valid date, which would be the last valid day of February _in this example.

plus
Temporal plus(TemporalAmount amount)

Returns an object of the same type as this object with an amount added. !(p) This adjusts this temporal, adding according to the rules of the specified amount. The amount is typically a {@link hunt.time.Period} but may be any other type implementing the {@link TemporalAmount} interface, such as {@link hunt.time.Duration}. !(p) Some example code indicating how and why this method is used: !(pre) date = date.plus(period); // add a Period instance date = date.plus(duration); // add a Duration instance date = date.plus(workingDays(6)); // example user-written workingDays method </pre> !(p) Note that calling {@code plus} followed by {@code minus} is not guaranteed to return the same date-time.

plus
Temporal plus(long amountToAdd, TemporalUnit unit)

Returns an object of the same type as this object with the specified period added. !(p) This method returns a new object based on this one with the specified period added. For example, on a {@code LocalDate}, this could be used to add a number of years, months or days. The returned object will have the same observable type as this object. !(p) In some cases, changing a field is not fully defined. For example, if the target object is a date representing the 31st January, then adding one month would be unclear. In cases like this, the field is responsible for resolving the result. Typically it will choose the previous valid date, which would be the last valid day of February _in this example.

minus
Temporal minus(TemporalAmount amount)

Returns an object of the same type as this object with an amount subtracted. !(p) This adjusts this temporal, subtracting according to the rules of the specified amount. The amount is typically a {@link hunt.time.Period} but may be any other type implementing the {@link TemporalAmount} interface, such as {@link hunt.time.Duration}. !(p) Some example code indicating how and why this method is used: !(pre) date = date.minus(period); // subtract a Period instance date = date.minus(duration); // subtract a Duration instance date = date.minus(workingDays(6)); // example user-written workingDays method </pre> !(p) Note that calling {@code plus} followed by {@code minus} is not guaranteed to return the same date-time.

minus
Temporal minus(long amountToSubtract, TemporalUnit unit)

Returns an object of the same type as this object with the specified period subtracted. !(p) This method returns a new object based on this one with the specified period subtracted. For example, on a {@code LocalDate}, this could be used to subtract a number of years, months or days. The returned object will have the same observable type as this object. !(p) In some cases, changing a field is not fully defined. For example, if the target object is a date representing the 31st March, then subtracting one month would be unclear. In cases like this, the field is responsible for resolving the result. Typically it will choose the previous valid date, which would be the last valid day of February _in this example.

until
long until(Temporal endExclusive, TemporalUnit unit)

Calculates the amount of time until another temporal _in terms of the specified unit. !(p) This calculates the amount of time between two temporal objects _in terms of a single {@code TemporalUnit}. The start and end points are {@code this} and the specified temporal. The end point is converted to be of the same type as the start point if different. The result will be negative if the end is before the start. For example, the amount _in hours between two temporal objects can be calculated using {@code startTime.until(endTime, HOURS)}. !(p) The calculation returns a whole number, representing the number of complete units between the two temporals. For example, the amount _in hours between the times 11:30 and 13:29 will only be one hour as it is one minute short of two hours. !(p) There are two equivalent ways of using this method. The first is to invoke this method directly. The second is to use {@link TemporalUnit#between(Temporal, Temporal)}: !(pre) // these two lines are equivalent temporal = start.until(end, unit); temporal = unit.between(start, end); </pre> The choice should be made based on which makes the code more readable. !(p) For example, this method allows the number of days between two dates to be calculated: !(pre) long daysBetween = start.until(end, DAYS); // or alternatively long daysBetween = DAYS.between(start, end); </pre>

From TemporalAdjuster

adjustInto
Temporal adjustInto(Temporal temporal)

Adjusts the specified temporal object. !(p) This adjusts the specified temporal object using the logic encapsulated _in the implementing class. Examples might be an adjuster that sets the date avoiding weekends, or one that sets the date to the last day of the month. !(p) There are two equivalent ways of using this method. The first is to invoke this method directly. The second is to use {@link Temporal#_with(TemporalAdjuster)}: !(pre) // these two lines are equivalent, but the second approach is recommended temporal = thisAdjuster.adjustInto(temporal); temporal = temporal._with(thisAdjuster); </pre> It is recommended to use the second approach, {@code _with(TemporalAdjuster)}, as it is a lot clearer to read _in code.

Meta