Class LocalTime
- All Implemented Interfaces:
Serializable
,Comparable<LocalTime>
,Calendrical
,CalendricalMatcher
,TimeAdjuster
,TimeProvider
10:15:30
.
LocalTime
is an immutable calendrical that represents a time, often
viewed as hour-minute-second.
This class stores all time fields, to a precision of nanoseconds.
It does not store or represent a date or time-zone. Thus, for example, the
value "13:45.30.123456789" can be stored in a LocalTime
.
LocalTime is immutable and thread-safe.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
The result of addition to aLocalTime
allowing the expression of any overflow in days.(package private) static final class
Rule implementation. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte
The hour.private static final LocalTime[]
Constants for the local time of each hour.private static final int
Hours per minute.static final LocalTime
Constant for the local time of midday, 12:00.static final LocalTime
Constant for the local time of midnight, 00:00.private final byte
The minute.private static final int
Minutes per day.private static final int
Minutes per hour.private final int
The nanosecond.private static final long
Nanos per day.private static final long
Nanos per hour.private static final long
Nanos per minute.private static final long
Nanos per second.private final byte
The second.private static final int
Seconds per day.private static final int
Seconds per hour.private static final int
Seconds per minute.private static final long
A serialization identifier for this class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
LocalTime
(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond) Constructor, previously validated. -
Method Summary
Modifier and TypeMethodDescriptionadjustTime
(LocalTime time) Adjusts a time to have the value of this time.atOffset
(ZoneOffset offset) Returns an offset time formed from this time and the specified offset.int
Compares thisLocalTime
to another time.private static LocalTime
create
(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond) Creates a local time from the hour, minute, second and nanosecond fields.boolean
Checks if thisLocalTime
is equal to the specified time.<T> T
get
(CalendricalRule<T> rule) Gets the value of the specified calendrical rule.Gets the chronology that this time uses, which is the ISO calendar system.int
Gets the hour-of-day field.int
Gets the minute-of-hour field.int
Gets the nano-of-second field.int
Gets the second-of-minute field.int
hashCode()
A hash code for thisLocalTime
.boolean
Checks if thisLocalTime
is after the specified time.boolean
Checks if thisLocalTime
is before the specified time.boolean
matches
(CalendricalMatcher matcher) Checks whether thisLocalTime
matches the specified matcher.boolean
matchesCalendrical
(Calendrical calendrical) Checks if the time extracted from the calendrical matches this.minus
(PeriodProvider periodProvider) Returns a copy of thisLocalTime
with the specified period subtracted.Returns a copy of thisLocalTime
with the specified duration subtracted.minusHours
(long hours) Returns a copy of thisLocalTime
with the specified period in hours subtracted.minusMinutes
(long minutes) Returns a copy of thisLocalTime
with the specified period in minutes subtracted.minusNanos
(long nanos) Returns a copy of thisLocalTime
with the specified period in nanoseconds subtracted.minusSeconds
(long seconds) Returns a copy of thisLocalTime
with the specified period in seconds subtracted.minusWithOverflow
(long hours, long minutes, long seconds, long nanos) Returns a copy of thisLocalTime
with the specified period subtracted, returning the new time with any overflow in days.static LocalTime
now()
Obtains the current time from the system clock in the default time-zone.static LocalTime
Obtains the current time from the specified clock.static LocalTime
of
(int hourOfDay, int minuteOfHour) Obtains an instance ofLocalTime
from an hour and minute.static LocalTime
of
(int hourOfDay, int minuteOfHour, int secondOfMinute) Obtains an instance ofLocalTime
from an hour, minute and second.static LocalTime
of
(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond) Obtains an instance ofLocalTime
from an hour, minute, second and nanosecond.static LocalTime
of
(TimeProvider timeProvider) Obtains an instance ofLocalTime
from a time provider.static LocalTime
ofNanoOfDay
(long nanoOfDay) Obtains an instance ofLocalTime
from a nanos-of-day value.static LocalTime
ofSecondOfDay
(long secondOfDay) Obtains an instance ofLocalTime
from a second-of-day value.static LocalTime
ofSecondOfDay
(long secondOfDay, int nanoOfSecond) Obtains an instance ofLocalTime
from a second-of-day value, with associated nanos of second.static LocalTime
Obtains an instance ofLocalTime
from a text string such as10:15
.static LocalTime
parse
(String text, DateTimeFormatter formatter) Obtains an instance ofLocalTime
from a text string using a specific formatter.plus
(PeriodProvider periodProvider) Returns a copy of thisLocalTime
with the specified period added.Returns a copy of thisLocalTime
with the specified duration added.plusHours
(long hours) Returns a copy of thisLocalTime
with the specified period in hours added.plusMinutes
(long minutes) Returns a copy of thisLocalTime
with the specified period in minutes added.plusNanos
(long nanos) Returns a copy of thisLocalTime
with the specified period in nanoseconds added.plusSeconds
(long seconds) Returns a copy of thisLocalTime
with the specified period in seconds added.plusWithOverflow
(long hours, long minutes, long seconds, long nanos) Returns a copy of thisLocalTime
with the specified period added, returning the new time with any overflow in days.private LocalTime.Overflow
plusWithOverflow
(long hours, long minutes, long seconds, long nanos, int sign) Returns a copy of thisLocalTime
with the specified period added, returning the new time with any overflow in days.private Object
Handle singletons on deserialization.static CalendricalRule
<LocalTime> rule()
Gets the rule forLocalTime
.Converts this time to aLocalTime
, trivially returningthis
.long
Extracts the time as nanos of day, from0
to24 * 60 * 60 * 1,000,000,000 - 1
.toOverflow
(long daysOverflow) Returns this time wrapped as an days-overflow.int
Extracts the time as seconds of day, from0
to24 * 60 * 60 - 1
.toString()
Outputs this time as aString
, such as10:15
.toString
(DateTimeFormatter formatter) Outputs this time as aString
using the formatter.with
(TimeAdjuster adjuster) Returns a copy of thisLocalTime
with the time altered using the adjuster.withHourOfDay
(int hourOfDay) Returns a copy of thisLocalTime
with the hour-of-day value altered.withMinuteOfHour
(int minuteOfHour) Returns a copy of thisLocalTime
with the minute-of-hour value altered.withNanoOfSecond
(int nanoOfSecond) Returns a copy of thisLocalTime
with the nano-of-second value altered.withSecondOfMinute
(int secondOfMinute) Returns a copy of thisLocalTime
with the second-of-minute value altered.
-
Field Details
-
MIDNIGHT
Constant for the local time of midnight, 00:00. -
MIDDAY
Constant for the local time of midday, 12:00. -
HOURS
Constants for the local time of each hour. -
serialVersionUID
private static final long serialVersionUIDA serialization identifier for this class.- See Also:
-
HOURS_PER_DAY
private static final int HOURS_PER_DAYHours per minute.- See Also:
-
MINUTES_PER_HOUR
private static final int MINUTES_PER_HOURMinutes per hour.- See Also:
-
MINUTES_PER_DAY
private static final int MINUTES_PER_DAYMinutes per day.- See Also:
-
SECONDS_PER_MINUTE
private static final int SECONDS_PER_MINUTESeconds per minute.- See Also:
-
SECONDS_PER_HOUR
private static final int SECONDS_PER_HOURSeconds per hour.- See Also:
-
SECONDS_PER_DAY
private static final int SECONDS_PER_DAYSeconds per day.- See Also:
-
NANOS_PER_SECOND
private static final long NANOS_PER_SECONDNanos per second.- See Also:
-
NANOS_PER_MINUTE
private static final long NANOS_PER_MINUTENanos per minute.- See Also:
-
NANOS_PER_HOUR
private static final long NANOS_PER_HOURNanos per hour.- See Also:
-
NANOS_PER_DAY
private static final long NANOS_PER_DAYNanos per day.- See Also:
-
hour
private final byte hourThe hour. -
minute
private final byte minuteThe minute. -
second
private final byte secondThe second. -
nano
private final int nanoThe nanosecond.
-
-
Constructor Details
-
LocalTime
private LocalTime(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond) Constructor, previously validated.- Parameters:
hourOfDay
- the hour-of-day to represent, validated from 0 to 23minuteOfHour
- the minute-of-hour to represent, validated from 0 to 59secondOfMinute
- the second-of-minute to represent, validated from 0 to 59nanoOfSecond
- the nano-of-second to represent, validated from 0 to 999,999,999
-
-
Method Details
-
now
Obtains the current time from the system clock in the default time-zone.This will query the
system clock
in the default time-zone to obtain the current time.Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
- Returns:
- the current time using the system clock, never null
-
now
Obtains the current time from the specified clock.This will query the specified clock to obtain the current time. Using this method allows the use of an alternate clock for testing. The alternate clock may be introduced using
dependency injection
.- Parameters:
clock
- the clock to use, not null- Returns:
- the current time, never null
-
of
Obtains an instance ofLocalTime
from an hour and minute.The second and nanosecond fields will be set to zero by this factory method.
This factory may return a cached value, but applications must not rely on this.
- Parameters:
hourOfDay
- the hour-of-day to represent, from 0 to 23minuteOfHour
- the minute-of-hour to represent, from 0 to 59- Returns:
- the local time, never null
- Throws:
IllegalCalendarFieldValueException
- if the value of any field is out of range
-
of
Obtains an instance ofLocalTime
from an hour, minute and second.The nanosecond field will be set to zero by this factory method.
This factory may return a cached value, but applications must not rely on this.
- Parameters:
hourOfDay
- the hour-of-day to represent, from 0 to 23minuteOfHour
- the minute-of-hour to represent, from 0 to 59secondOfMinute
- the second-of-minute to represent, from 0 to 59- Returns:
- the local time, never null
- Throws:
IllegalCalendarFieldValueException
- if the value of any field is out of range
-
of
Obtains an instance ofLocalTime
from an hour, minute, second and nanosecond.This factory may return a cached value, but applications must not rely on this.
- Parameters:
hourOfDay
- the hour-of-day to represent, from 0 to 23minuteOfHour
- the minute-of-hour to represent, from 0 to 59secondOfMinute
- the second-of-minute to represent, from 0 to 59nanoOfSecond
- the nano-of-second to represent, from 0 to 999,999,999- Returns:
- the local time, never null
- Throws:
IllegalCalendarFieldValueException
- if the value of any field is out of range
-
of
Obtains an instance ofLocalTime
from a time provider.The purpose of this method is to convert a
TimeProvider
to aLocalTime
in the safest possible way. Specifically, the means checking whether the input parameter is null and whether the result of the provider is null.This factory may return a cached value, but applications must not rely on this.
- Parameters:
timeProvider
- the time provider to use, not null- Returns:
- the local time, never null
-
ofSecondOfDay
Obtains an instance ofLocalTime
from a second-of-day value.This factory may return a cached value, but applications must not rely on this.
- Parameters:
secondOfDay
- the second-of-day, from0
to24 * 60 * 60 - 1
- Returns:
- the local time, never null
- Throws:
IllegalCalendarFieldValueException
- if the second-of-day value is invalid
-
ofSecondOfDay
Obtains an instance ofLocalTime
from a second-of-day value, with associated nanos of second.This factory may return a cached value, but applications must not rely on this.
- Parameters:
secondOfDay
- the second-of-day, from0
to24 * 60 * 60 - 1
nanoOfSecond
- the nano-of-second, from 0 to 999,999,999- Returns:
- the local time, never null
- Throws:
IllegalCalendarFieldValueException
- if the either input value is invalid
-
ofNanoOfDay
Obtains an instance ofLocalTime
from a nanos-of-day value.This factory may return a cached value, but applications must not rely on this.
- Parameters:
nanoOfDay
- the nano of day, from0
to24 * 60 * 60 * 1,000,000,000 - 1
- Returns:
- the local time, never null
- Throws:
CalendricalException
- if the nanos of day value is invalid
-
parse
Obtains an instance ofLocalTime
from a text string such as10:15
.The following formats are accepted in ASCII:
{Hour}:{Minute}
{Hour}:{Minute}:{Second}
{Hour}:{Minute}:{Second}.{NanosecondFraction}
The hour has 2 digits with values from 0 to 23. The minute has 2 digits with values from 0 to 59. The second has 2 digits with values from 0 to 59. The nanosecond fraction has from 1 to 9 digits with values from 0 to 999,999,999.
- Parameters:
text
- the text to parse such as '10:15:30', not null- Returns:
- the parsed local time, never null
- Throws:
CalendricalException
- if the text cannot be parsed
-
parse
Obtains an instance ofLocalTime
from a text string using a specific formatter.The text is parsed using the formatter, returning a time.
- Parameters:
text
- the text to parse, not nullformatter
- the formatter to use, not null- Returns:
- the parsed local time, never null
- Throws:
UnsupportedOperationException
- if the formatter cannot parseCalendricalException
- if the text cannot be parsed
-
create
private static LocalTime create(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond) Creates a local time from the hour, minute, second and nanosecond fields.This factory may return a cached value, but applications must not rely on this.
- Parameters:
hourOfDay
- the hour-of-day to represent, validated from 0 to 23minuteOfHour
- the minute-of-hour to represent, validated from 0 to 59secondOfMinute
- the second-of-minute to represent, validated from 0 to 59nanoOfSecond
- the nano-of-second to represent, validated from 0 to 999,999,999- Returns:
- the local time, never null
- Throws:
InvalidCalendarFieldException
- if the day-of-month is invalid for the month-year
-
readResolve
Handle singletons on deserialization.- Returns:
- the resolved object.
-
getChronology
Gets the chronology that this time uses, which is the ISO calendar system.- Returns:
- the ISO chronology, never null
-
get
Gets the value of the specified calendrical rule.This method queries the value of the specified calendrical rule. If the value cannot be returned for the rule from this time then
null
will be returned.- Specified by:
get
in interfaceCalendrical
- Parameters:
rule
- the rule to use, not null- Returns:
- the value for the rule, null if the value cannot be returned
-
getHourOfDay
public int getHourOfDay()Gets the hour-of-day field.- Returns:
- the hour-of-day, from 0 to 23
-
getMinuteOfHour
public int getMinuteOfHour()Gets the minute-of-hour field.- Returns:
- the minute-of-hour, from 0 to 59
-
getSecondOfMinute
public int getSecondOfMinute()Gets the second-of-minute field.- Returns:
- the second-of-minute, from 0 to 59
-
getNanoOfSecond
public int getNanoOfSecond()Gets the nano-of-second field.- Returns:
- the nano-of-second, from 0 to 999,999,999
-
with
Returns a copy of thisLocalTime
with the time altered using the adjuster.Adjusters can be used to alter the time in various ways. A simple adjuster might simply set the one of the fields, such as the hour field. A more complex adjuster might set the time to end of the working day.
This instance is immutable and unaffected by this method call.
- Parameters:
adjuster
- the adjuster to use, not null- Returns:
- a
LocalTime
based on this time adjusted as necessary, never null
-
withHourOfDay
Returns a copy of thisLocalTime
with the hour-of-day value altered.This instance is immutable and unaffected by this method call.
- Parameters:
hourOfDay
- the hour-of-day to represent, from 0 to 23- Returns:
- a
LocalTime
based on this time with the requested hour, never null - Throws:
IllegalCalendarFieldValueException
- if the hour value is invalid
-
withMinuteOfHour
Returns a copy of thisLocalTime
with the minute-of-hour value altered.This instance is immutable and unaffected by this method call.
- Parameters:
minuteOfHour
- the minute-of-hour to represent, from 0 to 59- Returns:
- a
LocalTime
based on this time with the requested minute, never null - Throws:
IllegalCalendarFieldValueException
- if the minute value is invalid
-
withSecondOfMinute
Returns a copy of thisLocalTime
with the second-of-minute value altered.This instance is immutable and unaffected by this method call.
- Parameters:
secondOfMinute
- the second-of-minute to represent, from 0 to 59- Returns:
- a
LocalTime
based on this time with the requested second, never null - Throws:
IllegalCalendarFieldValueException
- if the second value is invalid
-
withNanoOfSecond
Returns a copy of thisLocalTime
with the nano-of-second value altered.This instance is immutable and unaffected by this method call.
- Parameters:
nanoOfSecond
- the nano-of-second to represent, from 0 to 999,999,999- Returns:
- a
LocalTime
based on this time with the requested nanosecond, never null - Throws:
IllegalCalendarFieldValueException
- if the nanos value is invalid
-
plus
Returns a copy of thisLocalTime
with the specified period added.This adds the specified period to this time, returning a new time. The calculation wraps around midnight and ignores any date-based ISO fields.
The period is interpreted using rules equivalent to
Period.ofTimeFields(PeriodProvider)
. Those rules ignore any date-based ISO fields, thus adding a date-based period to this time will have no effect.This instance is immutable and unaffected by this method call.
- Parameters:
periodProvider
- the period to add, not null- Returns:
- a
LocalTime
based on this time with the period added, never null - Throws:
CalendricalException
- if the specified period cannot be converted to aPeriod
ArithmeticException
- if the period overflows during conversion to hours/minutes/seconds/nanos
-
plus
Returns a copy of thisLocalTime
with the specified duration added.This adds the specified duration to this time, returning a new time. The calculation wraps around midnight.
The calculation is equivalent to using
plusSeconds(long)
andplusNanos(long)
on the two parts of the duration.This instance is immutable and unaffected by this method call.
- Parameters:
duration
- the duration to add, not null- Returns:
- a
LocalTime
based on this time with the duration added, never null
-
plusHours
Returns a copy of thisLocalTime
with the specified period in hours added.This adds the specified number of hours to this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
hours
- the hours to add, may be negative- Returns:
- a
LocalTime
based on this time with the hours added, never null
-
plusMinutes
Returns a copy of thisLocalTime
with the specified period in minutes added.This adds the specified number of minutes to this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
minutes
- the minutes to add, may be negative- Returns:
- a
LocalTime
based on this time with the minutes added, never null
-
plusSeconds
Returns a copy of thisLocalTime
with the specified period in seconds added.This adds the specified number of seconds to this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
seconds
- the seconds to add, may be negative- Returns:
- a
LocalTime
based on this time with the seconds added, never null
-
plusNanos
Returns a copy of thisLocalTime
with the specified period in nanoseconds added.This adds the specified number of nanoseconds to this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
nanos
- the nanos to add, may be negative- Returns:
- a
LocalTime
based on this time with the nanoseconds added, never null
-
plusWithOverflow
Returns a copy of thisLocalTime
with the specified period added, returning the new time with any overflow in days.This method returns an
LocalTime.Overflow
instance with the result of the addition and any overflow in days.This instance is immutable and unaffected by this method call.
- Parameters:
hours
- the hours to add, may be negativeminutes
- the minutes to add, may be negativeseconds
- the seconds to add, may be negativenanos
- the nanos to add, may be negative- Returns:
- an
Overflow
instance with the resulting time and overflow, never null
-
plusWithOverflow
private LocalTime.Overflow plusWithOverflow(long hours, long minutes, long seconds, long nanos, int sign) Returns a copy of thisLocalTime
with the specified period added, returning the new time with any overflow in days.This method returns an
LocalTime.Overflow
instance with the result of the addition and any overflow in days.This instance is immutable and unaffected by this method call.
- Parameters:
hours
- the hours to add, may be negativeminutes
- the minutes to add, may be negativeseconds
- the seconds to add, may be negativenanos
- the nanos to add, may be negativesign
- the sign to determine add or subtract- Returns:
- an
Overflow
instance with the resulting time and overflow, never null
-
minus
Returns a copy of thisLocalTime
with the specified period subtracted.This subtracts the specified period from this time, returning a new time. The calculation wraps around midnight and ignores any date-based ISO fields.
The period is interpreted using rules equivalent to
Period.ofTimeFields(PeriodProvider)
. Those rules ignore any date-based ISO fields, thus adding a date-based period to this time will have no effect.This instance is immutable and unaffected by this method call.
- Parameters:
periodProvider
- the period to subtract, not null- Returns:
- a
LocalTime
based on this time with the period subtracted, never null - Throws:
CalendricalException
- if the specified period cannot be converted to aPeriod
ArithmeticException
- if the period overflows during conversion to hours/minutes/seconds/nanos
-
minus
Returns a copy of thisLocalTime
with the specified duration subtracted.This subtracts the specified duration from this time, returning a new time. The calculation wraps around midnight.
The calculation is equivalent to using
minusSeconds(long)
andminusNanos(long)
on the two parts of the duration.This instance is immutable and unaffected by this method call.
- Parameters:
duration
- the duration to subtract, not null- Returns:
- a
LocalTime
based on this time with the duration subtracted, never null
-
minusHours
Returns a copy of thisLocalTime
with the specified period in hours subtracted.This subtracts the specified number of hours from this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
hours
- the hours to subtract, may be negative- Returns:
- a
LocalTime
based on this time with the hours subtracted, never null
-
minusMinutes
Returns a copy of thisLocalTime
with the specified period in minutes subtracted.This subtracts the specified number of minutes from this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
minutes
- the minutes to subtract, may be negative- Returns:
- a
LocalTime
based on this time with the minutes subtracted, never null
-
minusSeconds
Returns a copy of thisLocalTime
with the specified period in seconds subtracted.This subtracts the specified number of seconds from this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
seconds
- the seconds to subtract, may be negative- Returns:
- a
LocalTime
based on this time with the seconds subtracted, never null
-
minusNanos
Returns a copy of thisLocalTime
with the specified period in nanoseconds subtracted.This subtracts the specified number of nanoseconds from this time, returning a new time. The calculation wraps around midnight.
This instance is immutable and unaffected by this method call.
- Parameters:
nanos
- the nanos to subtract, may be negative- Returns:
- a
LocalTime
based on this time with the nanoseconds subtracted, never null
-
minusWithOverflow
Returns a copy of thisLocalTime
with the specified period subtracted, returning the new time with any overflow in days.This method returns an
LocalTime.Overflow
instance with the result of the subtraction and any overflow in days.This instance is immutable and unaffected by this method call.
- Parameters:
hours
- the hours to subtract, may be negativeminutes
- the minutes to subtract, may be negativeseconds
- the seconds to subtract, may be negativenanos
- the nanos to subtract, may be negative- Returns:
- an
Overflow
instance with the resulting time and overflow, never null
-
matches
Checks whether thisLocalTime
matches the specified matcher.Matchers can be used to query the time. A simple matcher might simply compare one of the fields, such as the hour field. A more complex matcher might check if the time is the last second of the day.
- Parameters:
matcher
- the matcher to use, not null- Returns:
- true if this time matches the matcher, false otherwise
-
matchesCalendrical
Checks if the time extracted from the calendrical matches this.This method implements the
CalendricalMatcher
interface. It is intended that applications usematches(javax.time.calendar.CalendricalMatcher)
rather than this method.- Specified by:
matchesCalendrical
in interfaceCalendricalMatcher
- Parameters:
calendrical
- the calendrical to match, not null- Returns:
- true if the calendrical matches, false otherwise
-
adjustTime
Adjusts a time to have the value of this time.This method implements the
TimeAdjuster
interface. It is intended that applications usewith(TimeAdjuster)
rather than this method.- Specified by:
adjustTime
in interfaceTimeAdjuster
- Parameters:
time
- the time to be adjusted, not null- Returns:
- the adjusted time, never null
-
atOffset
Returns an offset time formed from this time and the specified offset.This merges the two objects -
this
and the specified offset - to form an instance ofOffsetTime
.This instance is immutable and unaffected by this method call.
- Parameters:
offset
- the offset to use, not null- Returns:
- the offset time formed from this time and the specified offset, never null
-
toLocalTime
Converts this time to aLocalTime
, trivially returningthis
.- Specified by:
toLocalTime
in interfaceTimeProvider
- Returns:
this
, never null
-
toOverflow
Returns this time wrapped as an days-overflow.This method will generally only be needed by those writing low-level date and time code that handles days-overflow. An overflow happens when adding or subtracting to a time and the result overflows the range of a time. The number of days later (or earlier) of the result is recorded in the overflow.
- Parameters:
daysOverflow
- the number of days to store- Returns:
- the days-overflow, never null
-
toSecondOfDay
public int toSecondOfDay()Extracts the time as seconds of day, from0
to24 * 60 * 60 - 1
.- Returns:
- the second-of-day equivalent to this time
-
toNanoOfDay
public long toNanoOfDay()Extracts the time as nanos of day, from0
to24 * 60 * 60 * 1,000,000,000 - 1
.- Returns:
- the nano of day equivalent to this time
-
compareTo
Compares thisLocalTime
to another time.The comparison is based on the time-line position of the times within a day.
- Specified by:
compareTo
in interfaceComparable<LocalTime>
- Parameters:
other
- the other time to compare to, not null- Returns:
- the comparator value, negative if less, positive if greater
- Throws:
NullPointerException
- ifother
is null
-
isAfter
Checks if thisLocalTime
is after the specified time.The comparison is based on the time-line position of the time within a day.
- Parameters:
other
- the other time to compare to, not null- Returns:
- true if this is after the specified time
- Throws:
NullPointerException
- ifother
is null
-
isBefore
Checks if thisLocalTime
is before the specified time.The comparison is based on the time-line position of the time within a day.
- Parameters:
other
- the other time to compare to, not null- Returns:
- true if this point is before the specified time
- Throws:
NullPointerException
- ifother
is null
-
equals
Checks if thisLocalTime
is equal to the specified time.The comparison is based on the time-line position of the time within a day.
-
hashCode
public int hashCode()A hash code for thisLocalTime
. -
toString
Outputs this time as aString
, such as10:15
.The output will be one of the following formats:
HH:mm
HH:mm:ss
HH:mm:ssfnnn
HH:mm:ssfnnnnnn
HH:mm:ssfnnnnnnnnn
-
toString
Outputs this time as aString
using the formatter.- Parameters:
formatter
- the formatter to use, not null- Returns:
- the formatted time string, never null
- Throws:
UnsupportedOperationException
- if the formatter cannot printCalendricalPrintException
- if an error occurs during printing
-
rule
Gets the rule forLocalTime
.- Returns:
- the rule for the time, never null
-