java.lang.Object | |||
↳ | org.joda.time.base.AbstractPartial | ||
↳ | org.joda.time.base.BaseLocal | ||
↳ | org.joda.time.LocalTime |
LocalTime is an immutable time class representing a time without a time zone.
LocalTime implements the ReadablePartial
interface.
To do this, the interface methods focus on the key fields -
HourOfDay, MinuteOfHour, SecondOfMinute and MillisOfSecond.
However, all time fields may in fact be queried.
Calculations on LocalTime are performed using a Chronology
.
This chronology will be set internally to be in the UTC time zone
for all calculations.
Each individual field can be queried in two ways:
getHourOfDay()
hourOfDay().get()
LocalTime is thread-safe and immutable, provided that the Chronology is as well. All standard Chronology classes supplied are thread-safe and immutable.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
LocalTime.Property | LocalTime.Property binds a LocalTime to a DateTimeField allowing powerful datetime functionality to be easily accessed. |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
MIDNIGHT | Constant for midnight. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs an instance set to the current local time evaluated using
ISO chronology in the default zone.
| |||||||||||
Constructs an instance set to the current local time evaluated using
ISO chronology in the specified zone.
| |||||||||||
Constructs an instance set to the current local time evaluated using
specified chronology and zone.
| |||||||||||
Constructs an instance set to the local time defined by the specified
instant evaluated using ISO chronology in the default zone.
| |||||||||||
Constructs an instance set to the local time defined by the specified
instant evaluated using ISO chronology in the specified zone.
| |||||||||||
Constructs an instance set to the local time defined by the specified
instant evaluated using the specified chronology.
| |||||||||||
Constructs an instance from an Object that represents a datetime.
| |||||||||||
Constructs an instance from an Object that represents a datetime,
forcing the time zone to that specified.
| |||||||||||
Constructs an instance from an Object that represents a datetime,
using the specified chronology.
| |||||||||||
Constructs an instance set to the specified time
using
ISOChronology . | |||||||||||
Constructs an instance set to the specified time
using
ISOChronology . | |||||||||||
Constructs an instance set to the specified time
using
ISOChronology . | |||||||||||
Constructs an instance set to the specified time
using the specified chronology, whose zone is ignored.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Compares this partial with another returning an integer
indicating the order.
| |||||||||||
Compares this ReadablePartial with another returning true if the chronology,
field types and values are equal.
| |||||||||||
Constructs a LocalTime from a
java.util.Calendar
using exactly the same field values. | |||||||||||
Constructs a LocalTime from a
java.util.Date
using exactly the same field values. | |||||||||||
Constructs a LocalTime from the specified millis of day using the
ISO chronology.
| |||||||||||
Constructs a LocalTime from the specified millis of day using the
specified chronology.
| |||||||||||
Get the value of one of the fields of time.
| |||||||||||
Gets the chronology of the time.
| |||||||||||
Get the hour of day field value.
| |||||||||||
Get the millis of day field value.
| |||||||||||
Get the millis of second field value.
| |||||||||||
Get the minute of hour field value.
| |||||||||||
Get the second of minute field value.
| |||||||||||
Gets the value of the field at the specifed index.
| |||||||||||
Get the hour of day field property which provides access to advanced functionality.
| |||||||||||
Checks if the duration type specified is supported by this
local time and chronology.
| |||||||||||
Checks if the field type specified is supported by this
local time and chronology.
| |||||||||||
Get the millis of day property which provides access to advanced functionality.
| |||||||||||
Get the millis of second property which provides access to advanced functionality.
| |||||||||||
Returns a copy of this time with the specified period taken away.
| |||||||||||
Returns a copy of this time minus the specified number of hours.
| |||||||||||
Returns a copy of this time minus the specified number of millis.
| |||||||||||
Returns a copy of this time minus the specified number of minutes.
| |||||||||||
Returns a copy of this time minus the specified number of seconds.
| |||||||||||
Get the minute of hour field property which provides access to advanced functionality.
| |||||||||||
Returns a copy of this time with the specified period added.
| |||||||||||
Returns a copy of this time plus the specified number of hours.
| |||||||||||
Returns a copy of this time plus the specified number of millis.
| |||||||||||
Returns a copy of this time plus the specified number of minutes.
| |||||||||||
Returns a copy of this time plus the specified number of seconds.
| |||||||||||
Gets the property object for the specified type, which contains
many useful methods.
| |||||||||||
Get the second of minute field property which provides access to advanced functionality.
| |||||||||||
Gets the number of fields in this partial, which is four.
| |||||||||||
Converts this LocalTime to a full datetime using the specified time zone
setting the time fields from this instance and the date fields from
the current time.
| |||||||||||
Converts this LocalTime to a full datetime using the default time zone
setting the time fields from this instance and the date fields from
the current date.
| |||||||||||
Output the time using the specified format pattern.
| |||||||||||
Output the time using the specified format pattern.
| |||||||||||
Output the time in ISO8601 format (HH:mm:ss.SSSZZ).
| |||||||||||
Returns a copy of this time with the specified field set
to a new value.
| |||||||||||
Returns a copy of this time with the value of the specified
field increased.
| |||||||||||
Returns a copy of this time with the partial set of fields replacing
those from this instance.
| |||||||||||
Returns a copy of this time with the hour of day field updated.
| |||||||||||
Returns a copy of this time with the millis of day field updated.
| |||||||||||
Returns a copy of this time with the millis of second field updated.
| |||||||||||
Returns a copy of this time with the minute of hour field updated.
| |||||||||||
Returns a copy of this time with the specified period added.
| |||||||||||
Returns a copy of this time with the second of minute field updated.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Gets the field for a specific index in the chronology specified.
| |||||||||||
Gets the local milliseconds from the Java epoch
of 1970-01-01T00:00:00 (not fixed to any specific time zone).
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.joda.time.base.BaseLocal
| |||||||||||
From class
org.joda.time.base.AbstractPartial
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.lang.Comparable
| |||||||||||
From interface
org.joda.time.ReadablePartial
|
Constructs an instance set to the current local time evaluated using ISO chronology in the default zone.
Once the constructor is completed, the zone is no longer used.
Constructs an instance set to the current local time evaluated using ISO chronology in the specified zone.
If the specified time zone is null, the default zone is used. Once the constructor is completed, the zone is no longer used.
zone | the time zone, null means default zone |
---|
Constructs an instance set to the current local time evaluated using specified chronology and zone.
If the chronology is null, ISO chronology in the default time zone is used. Once the constructor is completed, the zone is no longer used.
chronology | the chronology, null means ISOChronology in default zone |
---|
Constructs an instance set to the local time defined by the specified instant evaluated using ISO chronology in the default zone.
Once the constructor is completed, the zone is no longer used.
instant | the milliseconds from 1970-01-01T00:00:00Z |
---|
Constructs an instance set to the local time defined by the specified instant evaluated using ISO chronology in the specified zone.
If the specified time zone is null, the default zone is used. Once the constructor is completed, the zone is no longer used.
instant | the milliseconds from 1970-01-01T00:00:00Z |
---|---|
zone | the time zone, null means default zone |
Constructs an instance set to the local time defined by the specified instant evaluated using the specified chronology.
If the chronology is null, ISO chronology in the default zone is used. Once the constructor is completed, the zone is no longer used.
instant | the milliseconds from 1970-01-01T00:00:00Z |
---|---|
chronology | the chronology, null means ISOChronology in default zone |
Constructs an instance from an Object that represents a datetime.
If the object contains no chronology, ISOChronology
is used.
If the object contains no time zone, the default zone is used.
Once the constructor is completed, the zone is no longer used.
The recognised object types are defined in
ConverterManager
and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by localTimeParser()
.
The default String converter ignores the zone and only parses the field values.
instant | the datetime object |
---|
IllegalArgumentException | if the instant is invalid |
---|
Constructs an instance from an Object that represents a datetime, forcing the time zone to that specified.
If the object contains no chronology, ISOChronology
is used.
If the specified time zone is null, the default zone is used.
Once the constructor is completed, the zone is no longer used.
The recognised object types are defined in
ConverterManager
and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by localTimeParser()
.
The default String converter ignores the zone and only parses the field values.
instant | the datetime object |
---|---|
zone | the time zone |
IllegalArgumentException | if the instant is invalid |
---|
Constructs an instance from an Object that represents a datetime, using the specified chronology.
If the chronology is null, ISO in the default time zone is used. Once the constructor is completed, the zone is no longer used.
The recognised object types are defined in
ConverterManager
and
include ReadablePartial, ReadableInstant, String, Calendar and Date.
The String formats are described by localTimeParser()
.
The default String converter ignores the zone and only parses the field values.
instant | the datetime object |
---|---|
chronology | the chronology |
IllegalArgumentException | if the instant is invalid |
---|
Constructs an instance set to the specified time
using ISOChronology
.
hourOfDay | the hour of the day |
---|---|
minuteOfHour | the minute of the hour |
Constructs an instance set to the specified time
using ISOChronology
.
hourOfDay | the hour of the day |
---|---|
minuteOfHour | the minute of the hour |
secondOfMinute | the second of the minute |
Constructs an instance set to the specified time
using ISOChronology
.
hourOfDay | the hour of the day |
---|---|
minuteOfHour | the minute of the hour |
secondOfMinute | the second of the minute |
millisOfSecond | the millisecond of the second |
Constructs an instance set to the specified time using the specified chronology, whose zone is ignored.
If the chronology is null, ISOChronology
is used.
hourOfDay | the hour of the day |
---|---|
minuteOfHour | the minute of the hour |
secondOfMinute | the second of the minute |
millisOfSecond | the millisecond of the second |
chronology | the chronology, null means ISOChronology in default zone |
Compares this partial with another returning an integer indicating the order.
The fields are compared in order, from largest to smallest. The first field that is non-equal is used to determine the result.
The specified object must be a partial instance whose field types match those of this partial.
NOTE: This implementation violates the Comparable contract. This method will accept any instance of ReadablePartial as input. However, it is possible that some implementations of ReadablePartial exist that do not extend AbstractPartial, and thus will throw a ClassCastException if compared in the opposite direction. The cause of this problem is that ReadablePartial doesn't define the compareTo() method, however we can't change that until v2.0.
partial | an object to check against |
---|
ClassCastException | if the partial is the wrong class or if it has field types that don't match |
---|---|
NullPointerException | if the partial is null |
Compares this ReadablePartial with another returning true if the chronology, field types and values are equal.
partial | an object to check against |
---|
Constructs a LocalTime from a java.util.Calendar
using exactly the same field values.
Each field is queried from the Calendar and assigned to the LocalTime. This is useful if you have been using the Calendar as a local time, ignoring the zone.
One advantage of this method is that this method is unaffected if the version of the time zone data differs between the JDK and Joda-Time. That is because the local field values are transferred, calculated using the JDK time zone data and without using the Joda-Time time zone data.
This factory method ignores the type of the calendar and always
creates a LocalTime with ISO chronology. It is expected that you
will only pass in instances of GregorianCalendar
however
this is not validated.
calendar | the Calendar to extract fields from |
---|
IllegalArgumentException | if the calendar is null |
---|---|
IllegalArgumentException | if the date is invalid for the ISO chronology |
Constructs a LocalTime from a java.util.Date
using exactly the same field values.
Each field is queried from the Date and assigned to the LocalTime. This is useful if you have been using the Date as a local time, ignoring the zone.
One advantage of this method is that this method is unaffected if the version of the time zone data differs between the JDK and Joda-Time. That is because the local field values are transferred, calculated using the JDK time zone data and without using the Joda-Time time zone data.
This factory method always creates a LocalTime with ISO chronology.
date | the Date to extract fields from |
---|
IllegalArgumentException | if the calendar is null |
---|---|
IllegalArgumentException | if the date is invalid for the ISO chronology |
Constructs a LocalTime from the specified millis of day using the ISO chronology.
The millisOfDay value may exceed the number of millis in one day, but additional days will be ignored. This method uses the UTC time zone internally.
millisOfDay | the number of milliseconds into a day to convert |
---|
Constructs a LocalTime from the specified millis of day using the specified chronology.
The millisOfDay value may exceed the number of millis in one day, but additional days will be ignored. This method uses the UTC time zone internally.
millisOfDay | the number of milliseconds into a day to convert |
---|---|
chrono | the chronology, null means ISO chronology |
Get the value of one of the fields of time.
This method gets the value of the specified field. For example:
DateTime dt = new DateTime(); int hourOfDay = dt.get(DateTimeFieldType.hourOfDay());
fieldType | a field type, usually obtained from DateTimeFieldType, not null |
---|
IllegalArgumentException | if the field type is null |
---|
Gets the chronology of the time.
Get the hour of day field value.
Get the millis of day field value.
Get the millis of second field value.
Get the minute of hour field value.
Get the second of minute field value.
Gets the value of the field at the specifed index.
This method is required to support the ReadablePartial
interface. The supported fields are HourOfDay, MinuteOfHour,
SecondOfMinute and MillisOfSecond.
index | the index, zero to three |
---|
IndexOutOfBoundsException | if the index is invalid |
---|
Get the hour of day field property which provides access to advanced functionality.
Checks if the duration type specified is supported by this local time and chronology.
type | a duration type, usually obtained from DurationFieldType |
---|
Checks if the field type specified is supported by this
local time and chronology.
This can be used to avoid exceptions in get(DateTimeFieldType)
.
type | a field type, usually obtained from DateTimeFieldType |
---|
Get the millis of day property which provides access to advanced functionality.
Get the millis of second property which provides access to advanced functionality.
Returns a copy of this time with the specified period taken away.
If the amount is zero or null, then this
is returned.
This method is typically used to subtract complex period instances.
Subtracting one field is best achieved using methods
like minusHours(int)
.
period | the period to reduce this instant by |
---|
ArithmeticException | if the result exceeds the internal capacity |
---|
Returns a copy of this time minus the specified number of hours.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime subtracted = dt.minusHours(6); LocalTime subtracted = dt.minus(Period.hours(6)); LocalTime subtracted = dt.withFieldAdded(DurationFieldType.hours(), -6);
hours | the amount of hours to subtract, may be negative |
---|
Returns a copy of this time minus the specified number of millis.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime subtracted = dt.minusMillis(6); LocalTime subtracted = dt.minus(Period.millis(6)); LocalTime subtracted = dt.withFieldAdded(DurationFieldType.millis(), -6);
millis | the amount of millis to subtract, may be negative |
---|
Returns a copy of this time minus the specified number of minutes.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime subtracted = dt.minusMinutes(6); LocalTime subtracted = dt.minus(Period.minutes(6)); LocalTime subtracted = dt.withFieldAdded(DurationFieldType.minutes(), -6);
minutes | the amount of minutes to subtract, may be negative |
---|
Returns a copy of this time minus the specified number of seconds.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime subtracted = dt.minusSeconds(6); LocalTime subtracted = dt.minus(Period.seconds(6)); LocalTime subtracted = dt.withFieldAdded(DurationFieldType.seconds(), -6);
seconds | the amount of seconds to subtract, may be negative |
---|
Get the minute of hour field property which provides access to advanced functionality.
Returns a copy of this time with the specified period added.
If the amount is zero or null, then this
is returned.
This method is typically used to add complex period instances.
Adding one field is best achieved using methods
like plusHours(int)
.
period | the period to add to this one, null means zero |
---|
ArithmeticException | if the result exceeds the internal capacity |
---|
Returns a copy of this time plus the specified number of hours.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime added = dt.plusHours(6); LocalTime added = dt.plus(Period.hours(6)); LocalTime added = dt.withFieldAdded(DurationFieldType.hours(), 6);
hours | the amount of hours to add, may be negative |
---|
Returns a copy of this time plus the specified number of millis.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime added = dt.plusMillis(6); LocalTime added = dt.plus(Period.millis(6)); LocalTime added = dt.withFieldAdded(DurationFieldType.millis(), 6);
millis | the amount of millis to add, may be negative |
---|
Returns a copy of this time plus the specified number of minutes.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime added = dt.plusMinutes(6); LocalTime added = dt.plus(Period.minutes(6)); LocalTime added = dt.withFieldAdded(DurationFieldType.minutes(), 6);
minutes | the amount of minutes to add, may be negative |
---|
Returns a copy of this time plus the specified number of seconds.
This LocalTime instance is immutable and unaffected by this method call.
The following three lines are identical in effect:
LocalTime added = dt.plusSeconds(6); LocalTime added = dt.plus(Period.seconds(6)); LocalTime added = dt.withFieldAdded(DurationFieldType.seconds(), 6);
seconds | the amount of seconds to add, may be negative |
---|
Gets the property object for the specified type, which contains many useful methods.
fieldType | the field type to get the chronology for |
---|
IllegalArgumentException | if the field is null or unsupported |
---|
Get the second of minute field property which provides access to advanced functionality.
Gets the number of fields in this partial, which is four. The supported fields are HourOfDay, MinuteOfHour, SecondOfMinute and MillisOfSecond.
Converts this LocalTime to a full datetime using the specified time zone setting the time fields from this instance and the date fields from the current time.
This method uses the chronology from this instance plus the time zone specified.
zone | the zone to use, null means default |
---|
Converts this LocalTime to a full datetime using the default time zone setting the time fields from this instance and the date fields from the current date.
Output the time using the specified format pattern.
pattern | the pattern specification, null means use toString |
---|---|
locale | Locale to use, null means default |
IllegalArgumentException |
---|
Output the time using the specified format pattern.
pattern | the pattern specification, null means use toString |
---|
Output the time in ISO8601 format (HH:mm:ss.SSSZZ).
Returns a copy of this time with the specified field set to a new value.
For example, if the field type is hourOfDay
then the hour of day
field would be changed in the returned instance.
If the field type is null, then this
is returned.
These lines are equivalent:
LocalTime updated = dt.withHourOfDay(6); LocalTime updated = dt.withField(DateTimeFieldType.hourOfDay(), 6);
fieldType | the field type to set, not null |
---|---|
value | the value to set |
IllegalArgumentException | if the value is null or invalid |
---|
Returns a copy of this time with the value of the specified field increased.
If the addition is zero or the field is null, then this
is returned.
If the addition causes the maximum value of the field to be exceeded, then the value will wrap. Thus 23:59 plus two minutes yields 00:01.
These lines are equivalent:
LocalTime added = dt.plusHours(6); LocalTime added = dt.withFieldAdded(DurationFieldType.hours(), 6);
fieldType | the field type to add to, not null |
---|---|
amount | the amount to add |
IllegalArgumentException | if the value is null or invalid |
---|---|
ArithmeticException | if the result exceeds the internal capacity |
Returns a copy of this time with the partial set of fields replacing those from this instance.
For example, if the partial contains an hour and minute then those two
fields will be changed in the returned instance.
Unsupported fields are ignored.
If the partial is null, then this
is returned.
partial | the partial set of fields to apply to this time, null ignored |
---|
IllegalArgumentException | if any value is invalid |
---|
Returns a copy of this time with the hour of day field updated.
LocalTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of hour of day changed.
hour | the hour of day to set |
---|
IllegalArgumentException | if the value is invalid |
---|
Returns a copy of this time with the millis of day field updated.
LocalTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of millis of day changed.
millis | the millis of day to set |
---|
IllegalArgumentException | if the value is invalid |
---|
Returns a copy of this time with the millis of second field updated.
LocalTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of millis of second changed.
millis | the millis of second to set |
---|
IllegalArgumentException | if the value is invalid |
---|
Returns a copy of this time with the minute of hour field updated.
LocalTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of minute of hour changed.
minute | the minute of hour to set |
---|
IllegalArgumentException | if the value is invalid |
---|
Returns a copy of this time with the specified period added.
If the addition is zero, then this
is returned.
This method is typically used to add multiple copies of complex
period instances. Adding one field is best achieved using methods
like withFieldAdded(DurationFieldType, int)
or plusHours(int)
.
period | the period to add to this one, null means zero |
---|---|
scalar | the amount of times to add, such as -1 to subtract once |
ArithmeticException | if the result exceeds the internal capacity |
---|
Returns a copy of this time with the second of minute field updated.
LocalTime is immutable, so there are no set methods. Instead, this method returns a new instance with the value of second of minute changed.
second | the second of minute to set |
---|
IllegalArgumentException | if the value is invalid |
---|
Gets the field for a specific index in the chronology specified.
This method must not use any instance variables.
index | the index to retrieve |
---|---|
chrono | the chronology to use |
Gets the local milliseconds from the Java epoch of 1970-01-01T00:00:00 (not fixed to any specific time zone).