Package org.postgresql.util

# Class PGTime

java.lang.Object
java.util.Date
java.sql.Time
org.postgresql.util.PGTime

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Comparable<Date>`

public class PGTime extends Time
This class augments the Java built-in Time to allow for explicit setting of the time zone.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PGTime(long time)`
  Constructs a `PGTime` without a time zone.
  `PGTime(long time, @Nullable Calendar calendar)`
  Constructs a `PGTime` with the given calendar object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `boolean`
  `equals(@Nullable Object o)`
  `@Nullable Calendar`
  `getCalendar()`
  Returns the calendar object for this time.
  `int`
  `hashCode()`
  `void`
  `setCalendar(@Nullable Calendar calendar)`
  Sets the calendar object for this time.

  ### Methods inherited from class java.sql.Time

  `getDate, getDay, getMonth, getYear, setDate, setMonth, setTime, setYear, toInstant, toLocalTime, toString, valueOf, valueOf`

  ### Methods inherited from class java.util.Date

  `after, before, compareTo, from, getHours, getMinutes, getSeconds, getTime, getTimezoneOffset, parse, setHours, setMinutes, setSeconds, toGMTString, toLocaleString, UTC`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### PGTime

    public PGTime(long time)
    Constructs a `PGTime` without a time zone.
    Parameters:
      `time` - milliseconds since January 1, 1970, 00:00:00 GMT; a negative number is milliseconds before January 1, 1970, 00:00:00 GMT.
    See Also:
      - `Time(long)`

  - ### PGTime

    public PGTime(long time, @Nullable Calendar calendar)
    Constructs a `PGTime` with the given calendar object. The calendar object is optional. If absent, the driver will treat the time as `time without time zone`. When present, the driver will treat the time as a `time with time zone` using the `TimeZone` in the calendar object. Furthermore, this calendar will be used instead of the calendar object passed to `PreparedStatement.setTime(int, Time, Calendar)`.
    Parameters:
      `time` - milliseconds since January 1, 1970, 00:00:00 GMT; a negative number is milliseconds before January 1, 1970, 00:00:00 GMT.
      `calendar` - the calendar object containing the time zone or `null`.
    See Also:
      - `Time(long)`

- ## Method Details

  - ### setCalendar

    public void setCalendar(@Nullable Calendar calendar)
    Sets the calendar object for this time.
    Parameters:
      `calendar` - the calendar object or `null`.

  - ### getCalendar

    public @Nullable Calendar getCalendar()
    Returns the calendar object for this time.
    Returns:
      the calendar or `null`.

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Date`

  - ### equals

    public boolean equals(@Nullable Object o)
    Overrides:
      `equals` in class `Date`

  - ### clone

    public Object clone()
    Overrides:
      `clone` in class `Date`