Class LocalTime
- java.lang.Object
-
- javax.time.calendar.LocalTime
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<LocalTime>,Calendrical,CalendricalMatcher,TimeAdjuster,TimeProvider
public final class LocalTime extends java.lang.Object implements Calendrical, TimeProvider, CalendricalMatcher, TimeAdjuster, java.lang.Comparable<LocalTime>, java.io.Serializable
A time without time-zone in the ISO-8601 calendar system, such as10:15:30.LocalTimeis 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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLocalTime.OverflowThe result of addition to aLocalTimeallowing the expression of any overflow in days.(package private) static classLocalTime.RuleRule implementation.
-
Field Summary
Fields Modifier and Type Field Description private bytehourThe hour.private static LocalTime[]HOURSConstants for the local time of each hour.private static intHOURS_PER_DAYHours per minute.static LocalTimeMIDDAYConstant for the local time of midday, 12:00.static LocalTimeMIDNIGHTConstant for the local time of midnight, 00:00.private byteminuteThe minute.private static intMINUTES_PER_DAYMinutes per day.private static intMINUTES_PER_HOURMinutes per hour.private intnanoThe nanosecond.private static longNANOS_PER_DAYNanos per day.private static longNANOS_PER_HOURNanos per hour.private static longNANOS_PER_MINUTENanos per minute.private static longNANOS_PER_SECONDNanos per second.private bytesecondThe second.private static intSECONDS_PER_DAYSeconds per day.private static intSECONDS_PER_HOURSeconds per hour.private static intSECONDS_PER_MINUTESeconds per minute.private static longserialVersionUIDA serialization identifier for this class.
-
Constructor Summary
Constructors Modifier Constructor Description privateLocalTime(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond)Constructor, previously validated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description LocalTimeadjustTime(LocalTime time)Adjusts a time to have the value of this time.OffsetTimeatOffset(ZoneOffset offset)Returns an offset time formed from this time and the specified offset.intcompareTo(LocalTime other)Compares thisLocalTimeto another time.private static LocalTimecreate(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond)Creates a local time from the hour, minute, second and nanosecond fields.booleanequals(java.lang.Object other)Checks if thisLocalTimeis equal to the specified time.<T> Tget(CalendricalRule<T> rule)Gets the value of the specified calendrical rule.ISOChronologygetChronology()Gets the chronology that this time uses, which is the ISO calendar system.intgetHourOfDay()Gets the hour-of-day field.intgetMinuteOfHour()Gets the minute-of-hour field.intgetNanoOfSecond()Gets the nano-of-second field.intgetSecondOfMinute()Gets the second-of-minute field.inthashCode()A hash code for thisLocalTime.booleanisAfter(LocalTime other)Checks if thisLocalTimeis after the specified time.booleanisBefore(LocalTime other)Checks if thisLocalTimeis before the specified time.booleanmatches(CalendricalMatcher matcher)Checks whether thisLocalTimematches the specified matcher.booleanmatchesCalendrical(Calendrical calendrical)Checks if the time extracted from the calendrical matches this.LocalTimeminus(PeriodProvider periodProvider)Returns a copy of thisLocalTimewith the specified period subtracted.LocalTimeminus(Duration duration)Returns a copy of thisLocalTimewith the specified duration subtracted.LocalTimeminusHours(long hours)Returns a copy of thisLocalTimewith the specified period in hours subtracted.LocalTimeminusMinutes(long minutes)Returns a copy of thisLocalTimewith the specified period in minutes subtracted.LocalTimeminusNanos(long nanos)Returns a copy of thisLocalTimewith the specified period in nanoseconds subtracted.LocalTimeminusSeconds(long seconds)Returns a copy of thisLocalTimewith the specified period in seconds subtracted.LocalTime.OverflowminusWithOverflow(long hours, long minutes, long seconds, long nanos)Returns a copy of thisLocalTimewith the specified period subtracted, returning the new time with any overflow in days.static LocalTimenow()Obtains the current time from the system clock in the default time-zone.static LocalTimenow(Clock clock)Obtains the current time from the specified clock.static LocalTimeof(int hourOfDay, int minuteOfHour)Obtains an instance ofLocalTimefrom an hour and minute.static LocalTimeof(int hourOfDay, int minuteOfHour, int secondOfMinute)Obtains an instance ofLocalTimefrom an hour, minute and second.static LocalTimeof(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond)Obtains an instance ofLocalTimefrom an hour, minute, second and nanosecond.static LocalTimeof(TimeProvider timeProvider)Obtains an instance ofLocalTimefrom a time provider.static LocalTimeofNanoOfDay(long nanoOfDay)Obtains an instance ofLocalTimefrom a nanos-of-day value.static LocalTimeofSecondOfDay(long secondOfDay)Obtains an instance ofLocalTimefrom a second-of-day value.static LocalTimeofSecondOfDay(long secondOfDay, int nanoOfSecond)Obtains an instance ofLocalTimefrom a second-of-day value, with associated nanos of second.static LocalTimeparse(java.lang.String text)Obtains an instance ofLocalTimefrom a text string such as10:15.static LocalTimeparse(java.lang.String text, DateTimeFormatter formatter)Obtains an instance ofLocalTimefrom a text string using a specific formatter.LocalTimeplus(PeriodProvider periodProvider)Returns a copy of thisLocalTimewith the specified period added.LocalTimeplus(Duration duration)Returns a copy of thisLocalTimewith the specified duration added.LocalTimeplusHours(long hours)Returns a copy of thisLocalTimewith the specified period in hours added.LocalTimeplusMinutes(long minutes)Returns a copy of thisLocalTimewith the specified period in minutes added.LocalTimeplusNanos(long nanos)Returns a copy of thisLocalTimewith the specified period in nanoseconds added.LocalTimeplusSeconds(long seconds)Returns a copy of thisLocalTimewith the specified period in seconds added.LocalTime.OverflowplusWithOverflow(long hours, long minutes, long seconds, long nanos)Returns a copy of thisLocalTimewith the specified period added, returning the new time with any overflow in days.private LocalTime.OverflowplusWithOverflow(long hours, long minutes, long seconds, long nanos, int sign)Returns a copy of thisLocalTimewith the specified period added, returning the new time with any overflow in days.private java.lang.ObjectreadResolve()Handle singletons on deserialization.static CalendricalRule<LocalTime>rule()Gets the rule forLocalTime.LocalTimetoLocalTime()Converts this time to aLocalTime, trivially returningthis.longtoNanoOfDay()Extracts the time as nanos of day, from0to24 * 60 * 60 * 1,000,000,000 - 1.LocalTime.OverflowtoOverflow(long daysOverflow)Returns this time wrapped as an days-overflow.inttoSecondOfDay()Extracts the time as seconds of day, from0to24 * 60 * 60 - 1.java.lang.StringtoString()Outputs this time as aString, such as10:15.java.lang.StringtoString(DateTimeFormatter formatter)Outputs this time as aStringusing the formatter.LocalTimewith(TimeAdjuster adjuster)Returns a copy of thisLocalTimewith the time altered using the adjuster.LocalTimewithHourOfDay(int hourOfDay)Returns a copy of thisLocalTimewith the hour-of-day value altered.LocalTimewithMinuteOfHour(int minuteOfHour)Returns a copy of thisLocalTimewith the minute-of-hour value altered.LocalTimewithNanoOfSecond(int nanoOfSecond)Returns a copy of thisLocalTimewith the nano-of-second value altered.LocalTimewithSecondOfMinute(int secondOfMinute)Returns a copy of thisLocalTimewith the second-of-minute value altered.
-
-
-
Field Detail
-
MIDNIGHT
public static final LocalTime MIDNIGHT
Constant for the local time of midnight, 00:00.
-
MIDDAY
public static final LocalTime MIDDAY
Constant for the local time of midday, 12:00.
-
HOURS
private static final LocalTime[] HOURS
Constants for the local time of each hour.
-
serialVersionUID
private static final long serialVersionUID
A serialization identifier for this class.- See Also:
- Constant Field Values
-
HOURS_PER_DAY
private static final int HOURS_PER_DAY
Hours per minute.- See Also:
- Constant Field Values
-
MINUTES_PER_HOUR
private static final int MINUTES_PER_HOUR
Minutes per hour.- See Also:
- Constant Field Values
-
MINUTES_PER_DAY
private static final int MINUTES_PER_DAY
Minutes per day.- See Also:
- Constant Field Values
-
SECONDS_PER_MINUTE
private static final int SECONDS_PER_MINUTE
Seconds per minute.- See Also:
- Constant Field Values
-
SECONDS_PER_HOUR
private static final int SECONDS_PER_HOUR
Seconds per hour.- See Also:
- Constant Field Values
-
SECONDS_PER_DAY
private static final int SECONDS_PER_DAY
Seconds per day.- See Also:
- Constant Field Values
-
NANOS_PER_SECOND
private static final long NANOS_PER_SECOND
Nanos per second.- See Also:
- Constant Field Values
-
NANOS_PER_MINUTE
private static final long NANOS_PER_MINUTE
Nanos per minute.- See Also:
- Constant Field Values
-
NANOS_PER_HOUR
private static final long NANOS_PER_HOUR
Nanos per hour.- See Also:
- Constant Field Values
-
NANOS_PER_DAY
private static final long NANOS_PER_DAY
Nanos per day.- See Also:
- Constant Field Values
-
hour
private final byte hour
The hour.
-
minute
private final byte minute
The minute.
-
second
private final byte second
The second.
-
nano
private final int nano
The nanosecond.
-
-
Constructor Detail
-
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 Detail
-
now
public static LocalTime now()
Obtains the current time from the system clock in the default time-zone.This will query the
system clockin 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
public static LocalTime now(Clock clock)
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
public static LocalTime of(int hourOfDay, int minuteOfHour)
Obtains an instance ofLocalTimefrom 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
public static LocalTime of(int hourOfDay, int minuteOfHour, int secondOfMinute)
Obtains an instance ofLocalTimefrom 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
public static LocalTime of(int hourOfDay, int minuteOfHour, int secondOfMinute, int nanoOfSecond)
Obtains an instance ofLocalTimefrom 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
public static LocalTime of(TimeProvider timeProvider)
Obtains an instance ofLocalTimefrom a time provider.The purpose of this method is to convert a
TimeProviderto aLocalTimein 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
public static LocalTime ofSecondOfDay(long secondOfDay)
Obtains an instance ofLocalTimefrom 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, from0to24 * 60 * 60 - 1- Returns:
- the local time, never null
- Throws:
IllegalCalendarFieldValueException- if the second-of-day value is invalid
-
ofSecondOfDay
public static LocalTime ofSecondOfDay(long secondOfDay, int nanoOfSecond)
Obtains an instance ofLocalTimefrom 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, from0to24 * 60 * 60 - 1nanoOfSecond- 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
public static LocalTime ofNanoOfDay(long nanoOfDay)
Obtains an instance ofLocalTimefrom 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, from0to24 * 60 * 60 * 1,000,000,000 - 1- Returns:
- the local time, never null
- Throws:
CalendricalException- if the nanos of day value is invalid
-
parse
public static LocalTime parse(java.lang.String text)
Obtains an instance ofLocalTimefrom 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
public static LocalTime parse(java.lang.String text, DateTimeFormatter formatter)
Obtains an instance ofLocalTimefrom 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:
java.lang.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
private java.lang.Object readResolve()
Handle singletons on deserialization.- Returns:
- the resolved object.
-
getChronology
public ISOChronology getChronology()
Gets the chronology that this time uses, which is the ISO calendar system.- Returns:
- the ISO chronology, never null
-
get
public <T> T get(CalendricalRule<T> rule)
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
nullwill be returned.- Specified by:
getin 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
public LocalTime with(TimeAdjuster adjuster)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time adjusted as necessary, never null
-
withHourOfDay
public LocalTime withHourOfDay(int hourOfDay)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the requested hour, never null - Throws:
IllegalCalendarFieldValueException- if the hour value is invalid
-
withMinuteOfHour
public LocalTime withMinuteOfHour(int minuteOfHour)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the requested minute, never null - Throws:
IllegalCalendarFieldValueException- if the minute value is invalid
-
withSecondOfMinute
public LocalTime withSecondOfMinute(int secondOfMinute)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the requested second, never null - Throws:
IllegalCalendarFieldValueException- if the second value is invalid
-
withNanoOfSecond
public LocalTime withNanoOfSecond(int nanoOfSecond)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the requested nanosecond, never null - Throws:
IllegalCalendarFieldValueException- if the nanos value is invalid
-
plus
public LocalTime plus(PeriodProvider periodProvider)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the period added, never null - Throws:
CalendricalException- if the specified period cannot be converted to aPeriodjava.lang.ArithmeticException- if the period overflows during conversion to hours/minutes/seconds/nanos
-
plus
public LocalTime plus(Duration duration)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the duration added, never null
-
plusHours
public LocalTime plusHours(long hours)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the hours added, never null
-
plusMinutes
public LocalTime plusMinutes(long minutes)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the minutes added, never null
-
plusSeconds
public LocalTime plusSeconds(long seconds)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the seconds added, never null
-
plusNanos
public LocalTime plusNanos(long nanos)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the nanoseconds added, never null
-
plusWithOverflow
public LocalTime.Overflow plusWithOverflow(long hours, long minutes, long seconds, long nanos)
Returns a copy of thisLocalTimewith the specified period added, returning the new time with any overflow in days.This method returns an
LocalTime.Overflowinstance 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
Overflowinstance 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 thisLocalTimewith the specified period added, returning the new time with any overflow in days.This method returns an
LocalTime.Overflowinstance 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
Overflowinstance with the resulting time and overflow, never null
-
minus
public LocalTime minus(PeriodProvider periodProvider)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the period subtracted, never null - Throws:
CalendricalException- if the specified period cannot be converted to aPeriodjava.lang.ArithmeticException- if the period overflows during conversion to hours/minutes/seconds/nanos
-
minus
public LocalTime minus(Duration duration)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the duration subtracted, never null
-
minusHours
public LocalTime minusHours(long hours)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the hours subtracted, never null
-
minusMinutes
public LocalTime minusMinutes(long minutes)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the minutes subtracted, never null
-
minusSeconds
public LocalTime minusSeconds(long seconds)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the seconds subtracted, never null
-
minusNanos
public LocalTime minusNanos(long nanos)
Returns a copy of thisLocalTimewith 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
LocalTimebased on this time with the nanoseconds subtracted, never null
-
minusWithOverflow
public LocalTime.Overflow minusWithOverflow(long hours, long minutes, long seconds, long nanos)
Returns a copy of thisLocalTimewith the specified period subtracted, returning the new time with any overflow in days.This method returns an
LocalTime.Overflowinstance 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
Overflowinstance with the resulting time and overflow, never null
-
matches
public boolean matches(CalendricalMatcher matcher)
Checks whether thisLocalTimematches 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
public boolean matchesCalendrical(Calendrical calendrical)
Checks if the time extracted from the calendrical matches this.This method implements the
CalendricalMatcherinterface. It is intended that applications usematches(javax.time.calendar.CalendricalMatcher)rather than this method.- Specified by:
matchesCalendricalin interfaceCalendricalMatcher- Parameters:
calendrical- the calendrical to match, not null- Returns:
- true if the calendrical matches, false otherwise
-
adjustTime
public LocalTime adjustTime(LocalTime time)
Adjusts a time to have the value of this time.This method implements the
TimeAdjusterinterface. It is intended that applications usewith(TimeAdjuster)rather than this method.- Specified by:
adjustTimein interfaceTimeAdjuster- Parameters:
time- the time to be adjusted, not null- Returns:
- the adjusted time, never null
-
atOffset
public OffsetTime atOffset(ZoneOffset offset)
Returns an offset time formed from this time and the specified offset.This merges the two objects -
thisand 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
public LocalTime toLocalTime()
Converts this time to aLocalTime, trivially returningthis.- Specified by:
toLocalTimein interfaceTimeProvider- Returns:
this, never null
-
toOverflow
public LocalTime.Overflow toOverflow(long daysOverflow)
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, from0to24 * 60 * 60 - 1.- Returns:
- the second-of-day equivalent to this time
-
toNanoOfDay
public long toNanoOfDay()
Extracts the time as nanos of day, from0to24 * 60 * 60 * 1,000,000,000 - 1.- Returns:
- the nano of day equivalent to this time
-
compareTo
public int compareTo(LocalTime other)
Compares thisLocalTimeto another time.The comparison is based on the time-line position of the times within a day.
- Specified by:
compareToin interfacejava.lang.Comparable<LocalTime>- Parameters:
other- the other time to compare to, not null- Returns:
- the comparator value, negative if less, positive if greater
- Throws:
java.lang.NullPointerException- ifotheris null
-
isAfter
public boolean isAfter(LocalTime other)
Checks if thisLocalTimeis 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:
java.lang.NullPointerException- ifotheris null
-
isBefore
public boolean isBefore(LocalTime other)
Checks if thisLocalTimeis 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:
java.lang.NullPointerException- ifotheris null
-
equals
public boolean equals(java.lang.Object other)
Checks if thisLocalTimeis equal to the specified time.The comparison is based on the time-line position of the time within a day.
- Overrides:
equalsin classjava.lang.Object- Parameters:
other- the other time to compare to, null returns false- Returns:
- true if this point is equal to the specified time
-
hashCode
public int hashCode()
A hash code for thisLocalTime.- Overrides:
hashCodein classjava.lang.Object- Returns:
- a suitable hash code
-
toString
public java.lang.String toString()
Outputs this time as aString, such as10:15.The output will be one of the following formats:
HH:mmHH:mm:ssHH:mm:ssfnnnHH:mm:ssfnnnnnnHH:mm:ssfnnnnnnnnn
- Overrides:
toStringin classjava.lang.Object- Returns:
- the formatted time, never null
-
toString
public java.lang.String toString(DateTimeFormatter formatter)
Outputs this time as aStringusing the formatter.- Parameters:
formatter- the formatter to use, not null- Returns:
- the formatted time string, never null
- Throws:
java.lang.UnsupportedOperationException- if the formatter cannot printCalendricalPrintException- if an error occurs during printing
-
rule
public static CalendricalRule<LocalTime> rule()
Gets the rule forLocalTime.- Returns:
- the rule for the time, never null
-
-