public final class

TimeOfDay

extends BasePartial
implements Serializable ReadablePartial
java.lang.Object
   ↳ org.joda.time.base.AbstractPartial
     ↳ org.joda.time.base.BasePartial
       ↳ org.joda.time.TimeOfDay

This class is deprecated.
Use LocalTime which has a much better internal implementation and has been available since 1.3

Class Overview

TimeOfDay is an immutable partial supporting the hour, minute, second and millisecond fields.

NOTE: This class only supports the four fields listed above. Thus, you cannot query the millisOfDay or secondOfDay fields for example. The new LocalTime class removes this restriction.

Calculations on TimeOfDay are performed using a Chronology. This chronology is set to be in the UTC time zone for all calculations.

Each individual field can be queried in two ways:

  • getHourOfDay()
  • hourOfDay().get()
The second technique also provides access to other useful methods on the field:
  • numeric value - hourOfDay().get()
  • text value - hourOfDay().getAsText()
  • short text value - hourOfDay().getAsShortText()
  • maximum/minimum values - hourOfDay().getMaximumValue()
  • add/subtract - hourOfDay().addToCopy()
  • set - hourOfDay().setCopy()

TimeOfDay is thread-safe and immutable, provided that the Chronology is as well. All standard Chronology classes supplied are thread-safe and immutable.

Summary

Nested Classes
class TimeOfDay.Property This class is deprecated. Use LocalTime which has a much better internal implementation  
Constants
int HOUR_OF_DAY The index of the hourOfDay field in the field array
int MILLIS_OF_SECOND The index of the millisOfSecond field in the field array
int MINUTE_OF_HOUR The index of the minuteOfHour field in the field array
int SECOND_OF_MINUTE The index of the secondOfMinute field in the field array
Fields
public static final TimeOfDay MIDNIGHT Constant for midnight.
Public Constructors
TimeOfDay()
Constructs a TimeOfDay with the current time, using ISOChronology in the default zone to extract the fields.
TimeOfDay(DateTimeZone zone)
Constructs a TimeOfDay with the current time, using ISOChronology in the specified zone to extract the fields.
TimeOfDay(Chronology chronology)
Constructs a TimeOfDay with the current time, using the specified chronology and zone to extract the fields.
TimeOfDay(long instant)
Constructs a TimeOfDay extracting the partial fields from the specified milliseconds using the ISOChronology in the default zone.
TimeOfDay(long instant, Chronology chronology)
Constructs a TimeOfDay extracting the partial fields from the specified milliseconds using the chronology provided.
TimeOfDay(Object instant)
Constructs a TimeOfDay from an Object that represents a time.
TimeOfDay(Object instant, Chronology chronology)
Constructs a TimeOfDay from an Object that represents a time, using the specified chronology.
TimeOfDay(int hourOfDay, int minuteOfHour)
Constructs a TimeOfDay with specified hour and minute and zero seconds and milliseconds using ISOChronology in the default zone.
TimeOfDay(int hourOfDay, int minuteOfHour, Chronology chronology)
Constructs a TimeOfDay with specified hour and minute and zero seconds and milliseconds.
TimeOfDay(int hourOfDay, int minuteOfHour, int secondOfMinute)
Constructs a TimeOfDay with specified time field values and zero milliseconds using ISOChronology in the default zone.
TimeOfDay(int hourOfDay, int minuteOfHour, int secondOfMinute, Chronology chronology)
Constructs a TimeOfDay with specified time field values and zero milliseconds.
TimeOfDay(int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Constructs a TimeOfDay with specified time field values using ISOChronology in the default zone.
TimeOfDay(int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, Chronology chronology)
Constructs a TimeOfDay with specified time field values and chronology.
Public Methods
static TimeOfDay fromCalendarFields(Calendar calendar)
Constructs a TimeOfDay from a java.util.Calendar using exactly the same field values avoiding any time zone effects.
static TimeOfDay fromDateFields(Date date)
Constructs a TimeOfDay from a java.util.Date using exactly the same field values avoiding any time zone effects.
static TimeOfDay fromMillisOfDay(long millisOfDay, Chronology chrono)
Constructs a TimeOfDay from the specified millis of day using the specified chronology.
static TimeOfDay fromMillisOfDay(long millisOfDay)
Constructs a TimeOfDay from the specified millis of day using the ISO chronology.
DateTimeFieldType getFieldType(int index)
Gets the field type at the specified index.
DateTimeFieldType[] getFieldTypes()
Gets an array of the field type of each of the fields that this partial supports.
int getHourOfDay()
Get the hour of day (0-23) field value.
int getMillisOfSecond()
Get the millis of second field value.
int getMinuteOfHour()
Get the minute of hour field value.
int getSecondOfMinute()
Get the second of minute field value.
TimeOfDay.Property hourOfDay()
Get the hour of day field property which provides access to advanced functionality.
TimeOfDay.Property millisOfSecond()
Get the millis of second property which provides access to advanced functionality.
TimeOfDay minus(ReadablePeriod period)
Returns a copy of this time with the specified period taken away, wrapping to what would be a new day if required.
TimeOfDay minusHours(int hours)
Returns a copy of this time minus the specified number of hours.
TimeOfDay minusMillis(int millis)
Returns a copy of this time minus the specified number of millis.
TimeOfDay minusMinutes(int minutes)
Returns a copy of this time minus the specified number of minutes.
TimeOfDay minusSeconds(int seconds)
Returns a copy of this time minus the specified number of seconds.
TimeOfDay.Property minuteOfHour()
Get the minute of hour field property which provides access to advanced functionality.
TimeOfDay plus(ReadablePeriod period)
Returns a copy of this time with the specified period added, wrapping to what would be a new day if required.
TimeOfDay plusHours(int hours)
Returns a copy of this time plus the specified number of hours.
TimeOfDay plusMillis(int millis)
Returns a copy of this time plus the specified number of millis.
TimeOfDay plusMinutes(int minutes)
Returns a copy of this time plus the specified number of minutes.
TimeOfDay plusSeconds(int seconds)
Returns a copy of this time plus the specified number of seconds.
TimeOfDay.Property property(DateTimeFieldType type)
Gets the property object for the specified type, which contains many useful methods.
TimeOfDay.Property secondOfMinute()
Get the second of minute field property which provides access to advanced functionality.
int size()
Gets the number of fields in this partial.
DateTime toDateTimeToday(DateTimeZone zone)
Converts this partial to a full datetime using the specified time zone setting the time fields from this instance and the date fields from the current time.
DateTime toDateTimeToday()
Converts this partial to a full datetime using the default time zone setting the time fields from this instance and the date fields from the current time.
LocalTime toLocalTime()
Converts this object to a LocalTime with the same time and chronology.
String toString()
Output the time in the ISO8601 format THH:mm:ss.SSS.
TimeOfDay withChronologyRetainFields(Chronology newChronology)
Returns a copy of this time with the specified chronology.
TimeOfDay withField(DateTimeFieldType fieldType, int value)
Returns a copy of this time with the specified field set to a new value.
TimeOfDay withFieldAdded(DurationFieldType fieldType, int amount)
Returns a copy of this time with the value of the specified field increased, wrapping to what would be a new day if required.
TimeOfDay withHourOfDay(int hour)
Returns a copy of this time with the hour of day field updated.
TimeOfDay withMillisOfSecond(int millis)
Returns a copy of this time with the millis of second field updated.
TimeOfDay withMinuteOfHour(int minute)
Returns a copy of this time with the minute of hour field updated.
TimeOfDay withPeriodAdded(ReadablePeriod period, int scalar)
Returns a copy of this time with the specified period added, wrapping to what would be a new day if required.
TimeOfDay withSecondOfMinute(int second)
Returns a copy of this time with the second of minute field updated.
Protected Methods
DateTimeField getField(int index, Chronology chrono)
Gets the field for a specific index in the chronology specified.
[Expand]
Inherited Methods
From class org.joda.time.base.BasePartial
From class org.joda.time.base.AbstractPartial
From class java.lang.Object
From interface java.lang.Comparable
From interface org.joda.time.ReadablePartial

Constants

public static final int HOUR_OF_DAY

The index of the hourOfDay field in the field array

Constant Value: 0 (0x00000000)

public static final int MILLIS_OF_SECOND

The index of the millisOfSecond field in the field array

Constant Value: 3 (0x00000003)

public static final int MINUTE_OF_HOUR

The index of the minuteOfHour field in the field array

Constant Value: 1 (0x00000001)

public static final int SECOND_OF_MINUTE

The index of the secondOfMinute field in the field array

Constant Value: 2 (0x00000002)

Fields

public static final TimeOfDay MIDNIGHT

Constant for midnight.

Public Constructors

public TimeOfDay ()

Constructs a TimeOfDay with the current time, using ISOChronology in the default zone to extract the fields.

The constructor uses the default time zone, resulting in the local time being initialised. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

public TimeOfDay (DateTimeZone zone)

Constructs a TimeOfDay with the current time, using ISOChronology in the specified zone to extract the fields.

The constructor uses the specified time zone to obtain the current time. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
zone the zone to use, null means default zone

public TimeOfDay (Chronology chronology)

Constructs a TimeOfDay with the current time, using the specified chronology and zone to extract the fields.

The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
chronology the chronology, null means ISOChronology in the default zone

public TimeOfDay (long instant)

Constructs a TimeOfDay extracting the partial fields from the specified milliseconds using the ISOChronology in the default zone.

The constructor uses the default time zone, resulting in the local time being initialised. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
instant the milliseconds from 1970-01-01T00:00:00Z

public TimeOfDay (long instant, Chronology chronology)

Constructs a TimeOfDay extracting the partial fields from the specified milliseconds using the chronology provided.

The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
instant the milliseconds from 1970-01-01T00:00:00Z
chronology the chronology, null means ISOChronology in the default zone

public TimeOfDay (Object instant)

Constructs a TimeOfDay from an Object that represents a time.

The recognised object types are defined in ConverterManager and include ReadableInstant, String, Calendar and Date. The String formats are described by timeParser().

The chronology used will be derived from the object, defaulting to ISO.

NOTE: Prior to v1.3 the string format was described by dateTimeParser(). Dates are now rejected.

Parameters
instant the datetime object, null means now
Throws
IllegalArgumentException if the instant is invalid

public TimeOfDay (Object instant, Chronology chronology)

Constructs a TimeOfDay from an Object that represents a time, using the specified chronology.

The recognised object types are defined in ConverterManager and include ReadableInstant, String, Calendar and Date. The String formats are described by timeParser().

The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC). The specified chronology overrides that of the object.

NOTE: Prior to v1.3 the string format was described by dateTimeParser(). Dates are now rejected.

Parameters
instant the datetime object, null means now
chronology the chronology, null means ISO default
Throws
IllegalArgumentException if the instant is invalid

public TimeOfDay (int hourOfDay, int minuteOfHour)

Constructs a TimeOfDay with specified hour and minute and zero seconds and milliseconds using ISOChronology in the default zone.

The constructor uses the no time zone initialising the fields as provided. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
hourOfDay the hour of the day
minuteOfHour the minute of the hour

public TimeOfDay (int hourOfDay, int minuteOfHour, Chronology chronology)

Constructs a TimeOfDay with specified hour and minute and zero seconds and milliseconds.

The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
hourOfDay the hour of the day
minuteOfHour the minute of the hour
chronology the chronology, null means ISOChronology in the default zone

public TimeOfDay (int hourOfDay, int minuteOfHour, int secondOfMinute)

Constructs a TimeOfDay with specified time field values and zero milliseconds using ISOChronology in the default zone.

The constructor uses the no time zone initialising the fields as provided. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
hourOfDay the hour of the day
minuteOfHour the minute of the hour
secondOfMinute the second of the minute

public TimeOfDay (int hourOfDay, int minuteOfHour, int secondOfMinute, Chronology chronology)

Constructs a TimeOfDay with specified time field values and zero milliseconds.

The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
hourOfDay the hour of the day
minuteOfHour the minute of the hour
secondOfMinute the second of the minute
chronology the chronology, null means ISOChronology in the default zone

public TimeOfDay (int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)

Constructs a TimeOfDay with specified time field values using ISOChronology in the default zone.

The constructor uses the no time zone initialising the fields as provided. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
hourOfDay the hour of the day
minuteOfHour the minute of the hour
secondOfMinute the second of the minute
millisOfSecond the millisecond of the second

public TimeOfDay (int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond, Chronology chronology)

Constructs a TimeOfDay with specified time field values and chronology.

The constructor uses the time zone of the chronology specified. Once the constructor is complete, all further calculations are performed without reference to a timezone (by switching to UTC).

Parameters
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 the default zone

Public Methods

public static TimeOfDay fromCalendarFields (Calendar calendar)

Constructs a TimeOfDay from a java.util.Calendar using exactly the same field values avoiding any time zone effects.

Each field is queried from the Calendar and assigned to the TimeOfDay. This is useful to ensure that the field values are the same in the created TimeOfDay no matter what the time zone is. For example, if the Calendar states that the time is 04:29, then the created TimeOfDay will always have the time 04:29 irrespective of time zone issues.

This factory method ignores the type of the calendar and always creates a TimeOfDay with ISO chronology.

Parameters
calendar the Calendar to extract fields from
Returns
  • the created TimeOfDay
Throws
IllegalArgumentException if the calendar is null
IllegalArgumentException if the time is invalid for the ISO chronology

public static TimeOfDay fromDateFields (Date date)

Constructs a TimeOfDay from a java.util.Date using exactly the same field values avoiding any time zone effects.

Each field is queried from the Date and assigned to the TimeOfDay. This is useful to ensure that the field values are the same in the created TimeOfDay no matter what the time zone is. For example, if the Calendar states that the time is 04:29, then the created TimeOfDay will always have the time 04:29 irrespective of time zone issues.

This factory method always creates a TimeOfDay with ISO chronology.

Parameters
date the Date to extract fields from
Returns
  • the created TimeOfDay
Throws
IllegalArgumentException if the calendar is null
IllegalArgumentException if the date is invalid for the ISO chronology

public static TimeOfDay fromMillisOfDay (long millisOfDay, Chronology chrono)

Constructs a TimeOfDay 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.

Parameters
millisOfDay the number of milliseconds into a day to convert
chrono the chronology, null means ISO chronology

public static TimeOfDay fromMillisOfDay (long millisOfDay)

Constructs a TimeOfDay 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.

Parameters
millisOfDay the number of milliseconds into a day to convert

public DateTimeFieldType getFieldType (int index)

Gets the field type at the specified index.

Parameters
index the index to retrieve
Returns
  • the field at the specified index
Throws
IndexOutOfBoundsException if the index is invalid

public DateTimeFieldType[] getFieldTypes ()

Gets an array of the field type of each of the fields that this partial supports.

The fields are returned largest to smallest, Hour, Minute, Second, Millis.

Returns
  • the array of field types (cloned), largest to smallest

public int getHourOfDay ()

Get the hour of day (0-23) field value.

Returns
  • the hour of day

public int getMillisOfSecond ()

Get the millis of second field value.

Returns
  • the millis of second

public int getMinuteOfHour ()

Get the minute of hour field value.

Returns
  • the minute of hour

public int getSecondOfMinute ()

Get the second of minute field value.

Returns
  • the second of minute

public TimeOfDay.Property hourOfDay ()

Get the hour of day field property which provides access to advanced functionality.

Returns
  • the hour of day property

public TimeOfDay.Property millisOfSecond ()

Get the millis of second property which provides access to advanced functionality.

Returns
  • the millis of second property

public TimeOfDay minus (ReadablePeriod period)

Returns a copy of this time with the specified period taken away, wrapping to what would be a new day if required.

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).

Parameters
period the period to reduce this instant by
Returns
  • a copy of this instance with the period taken away
Throws
ArithmeticException if the new time exceeds capacity

public TimeOfDay minusHours (int hours)

Returns a copy of this time minus the specified number of hours.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay subtracted = dt.minusHours(6);
 TimeOfDay subtracted = dt.minus(Period.hours(6));
 TimeOfDay subtracted = dt.withFieldAdded(DurationFieldType.hours(), -6);
 

Parameters
hours the amount of hours to subtract, may be negative
Returns
  • the new time minus the increased hours

public TimeOfDay minusMillis (int millis)

Returns a copy of this time minus the specified number of millis.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay subtracted = dt.minusMillis(6);
 TimeOfDay subtracted = dt.minus(Period.millis(6));
 TimeOfDay subtracted = dt.withFieldAdded(DurationFieldType.millis(), -6);
 

Parameters
millis the amount of millis to subtract, may be negative
Returns
  • the new time minus the increased millis

public TimeOfDay minusMinutes (int minutes)

Returns a copy of this time minus the specified number of minutes.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay subtracted = dt.minusMinutes(6);
 TimeOfDay subtracted = dt.minus(Period.minutes(6));
 TimeOfDay subtracted = dt.withFieldAdded(DurationFieldType.minutes(), -6);
 

Parameters
minutes the amount of minutes to subtract, may be negative
Returns
  • the new time minus the increased minutes

public TimeOfDay minusSeconds (int seconds)

Returns a copy of this time minus the specified number of seconds.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay subtracted = dt.minusSeconds(6);
 TimeOfDay subtracted = dt.minus(Period.seconds(6));
 TimeOfDay subtracted = dt.withFieldAdded(DurationFieldType.seconds(), -6);
 

Parameters
seconds the amount of seconds to subtract, may be negative
Returns
  • the new time minus the increased seconds

public TimeOfDay.Property minuteOfHour ()

Get the minute of hour field property which provides access to advanced functionality.

Returns
  • the minute of hour property

public TimeOfDay plus (ReadablePeriod period)

Returns a copy of this time with the specified period added, wrapping to what would be a new day if required.

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).

Parameters
period the duration to add to this one, null means zero
Returns
  • a copy of this instance with the period added
Throws
ArithmeticException if the new datetime exceeds the capacity of a long

public TimeOfDay plusHours (int hours)

Returns a copy of this time plus the specified number of hours.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay added = dt.plusHours(6);
 TimeOfDay added = dt.plus(Period.hours(6));
 TimeOfDay added = dt.withFieldAdded(DurationFieldType.hours(), 6);
 

Parameters
hours the amount of hours to add, may be negative
Returns
  • the new time plus the increased hours

public TimeOfDay plusMillis (int millis)

Returns a copy of this time plus the specified number of millis.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay added = dt.plusMillis(6);
 TimeOfDay added = dt.plus(Period.millis(6));
 TimeOfDay added = dt.withFieldAdded(DurationFieldType.millis(), 6);
 

Parameters
millis the amount of millis to add, may be negative
Returns
  • the new time plus the increased millis

public TimeOfDay plusMinutes (int minutes)

Returns a copy of this time plus the specified number of minutes.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay added = dt.plusMinutes(6);
 TimeOfDay added = dt.plus(Period.minutes(6));
 TimeOfDay added = dt.withFieldAdded(DurationFieldType.minutes(), 6);
 

Parameters
minutes the amount of minutes to add, may be negative
Returns
  • the new time plus the increased minutes

public TimeOfDay plusSeconds (int seconds)

Returns a copy of this time plus the specified number of seconds.

This time instance is immutable and unaffected by this method call.

The following three lines are identical in effect:

 TimeOfDay added = dt.plusSeconds(6);
 TimeOfDay added = dt.plus(Period.seconds(6));
 TimeOfDay added = dt.withFieldAdded(DurationFieldType.seconds(), 6);
 

Parameters
seconds the amount of seconds to add, may be negative
Returns
  • the new time plus the increased seconds

public TimeOfDay.Property property (DateTimeFieldType type)

Gets the property object for the specified type, which contains many useful methods.

Parameters
type the field type to get the property for
Returns
  • the property object
Throws
IllegalArgumentException if the field is null or unsupported

public TimeOfDay.Property secondOfMinute ()

Get the second of minute field property which provides access to advanced functionality.

Returns
  • the second of minute property

public int size ()

Gets the number of fields in this partial.

Returns
  • the field count

public DateTime toDateTimeToday (DateTimeZone zone)

Converts this partial 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.

Parameters
zone the zone to use, null means default
Returns
  • this date as a datetime with the time as the current time

public DateTime toDateTimeToday ()

Converts this partial to a full datetime using the default time zone setting the time fields from this instance and the date fields from the current time.

Returns
  • this date as a datetime with the time as the current time

public LocalTime toLocalTime ()

Converts this object to a LocalTime with the same time and chronology.

Returns
  • a LocalTime with the same time and chronology

public String toString ()

Output the time in the ISO8601 format THH:mm:ss.SSS.

Returns
  • ISO8601 formatted string

public TimeOfDay withChronologyRetainFields (Chronology newChronology)

Returns a copy of this time with the specified chronology. This instance is immutable and unaffected by this method call.

This method retains the values of the fields, thus the result will typically refer to a different instant.

The time zone of the specified chronology is ignored, as TimeOfDay operates without a time zone.

Parameters
newChronology the new chronology, null means ISO
Returns
  • a copy of this datetime with a different chronology
Throws
IllegalArgumentException if the values are invalid for the new chronology

public TimeOfDay withField (DateTimeFieldType fieldType, int value)

Returns a copy of this time with the specified field set to a new value.

For example, if the field type is minuteOfHour then the day would be changed in the returned instance.

These three lines are equivalent:

 TimeOfDay updated = tod.withField(DateTimeFieldType.minuteOfHour(), 6);
 TimeOfDay updated = tod.minuteOfHour().setCopy(6);
 TimeOfDay updated = tod.property(DateTimeFieldType.minuteOfHour()).setCopy(6);
 

Parameters
fieldType the field type to set, not null
value the value to set
Returns
  • a copy of this instance with the field set
Throws
IllegalArgumentException if the value is null or invalid

public TimeOfDay withFieldAdded (DurationFieldType fieldType, int amount)

Returns a copy of this time with the value of the specified field increased, wrapping to what would be a new day if required.

If the addition is zero, then this is returned.

These three lines are equivalent:

 TimeOfDay added = tod.withFieldAdded(DurationFieldType.minutes(), 6);
 TimeOfDay added = tod.plusMinutes(6);
 TimeOfDay added = tod.minuteOfHour().addToCopy(6);
 

Parameters
fieldType the field type to add to, not null
amount the amount to add
Returns
  • a copy of this instance with the field updated
Throws
IllegalArgumentException if the value is null or invalid
ArithmeticException if the new datetime exceeds the capacity

public TimeOfDay withHourOfDay (int hour)

Returns a copy of this time with the hour of day field updated.

TimeOfDay is immutable, so there are no set methods. Instead, this method returns a new instance with the value of hour of day changed.

Parameters
hour the hour of day to set
Returns
  • a copy of this object with the field set
Throws
IllegalArgumentException if the value is invalid

public TimeOfDay withMillisOfSecond (int millis)

Returns a copy of this time with the millis of second field updated.

TimeOfDay is immutable, so there are no set methods. Instead, this method returns a new instance with the value of millis of second changed.

Parameters
millis the millis of second to set
Returns
  • a copy of this object with the field set
Throws
IllegalArgumentException if the value is invalid

public TimeOfDay withMinuteOfHour (int minute)

Returns a copy of this time with the minute of hour field updated.

TimeOfDay is immutable, so there are no set methods. Instead, this method returns a new instance with the value of minute of hour changed.

Parameters
minute the minute of hour to set
Returns
  • a copy of this object with the field set
Throws
IllegalArgumentException if the value is invalid

public TimeOfDay withPeriodAdded (ReadablePeriod period, int scalar)

Returns a copy of this time with the specified period added, wrapping to what would be a new day if required.

If the addition is zero, then this is returned. Fields in the period that aren't present in the partial are ignored.

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).

Parameters
period the period to add to this one, null means zero
scalar the amount of times to add, such as -1 to subtract once
Returns
  • a copy of this instance with the period added
Throws
ArithmeticException if the new datetime exceeds the capacity

public TimeOfDay withSecondOfMinute (int second)

Returns a copy of this time with the second of minute field updated.

TimeOfDay is immutable, so there are no set methods. Instead, this method returns a new instance with the value of second of minute changed.

Parameters
second the second of minute to set
Returns
  • a copy of this object with the field set
Throws
IllegalArgumentException if the value is invalid

Protected Methods

protected DateTimeField getField (int index, Chronology chrono)

Gets the field for a specific index in the chronology specified.

This method must not use any instance variables.

Parameters
index the index to retrieve
chrono the chronology to use
Returns
  • the field