Package org.postgresql.util

# Class PGTimestamp

java.lang.Object
java.util.Date
java.sql.Timestamp
org.postgresql.util.PGTimestamp

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

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

See Also:
  - Serialized Form

- ## Constructor Summary

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

- ## Method Summary

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

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

  `after, before, compareTo, compareTo, equals, from, getNanos, getTime, setNanos, setTime, toInstant, toLocalDateTime, toString, valueOf, valueOf`

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

  `after, before, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC`

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

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

- ## Constructor Details

  - ### PGTimestamp

    public PGTimestamp(long time)
    Constructs a `PGTimestamp` without a time zone. The integral seconds are stored in the underlying date value; the fractional seconds are stored in the `nanos` field of the `Timestamp` object.
    Parameters:
      `time` - milliseconds since January 1, 1970, 00:00:00 GMT. A negative number is the number of milliseconds before January 1, 1970, 00:00:00 GMT.
    See Also:
      - `Timestamp(long)`

  - ### PGTimestamp

    public PGTimestamp(long time, @Nullable Calendar calendar)

    Constructs a `PGTimestamp` with the given time zone. The integral seconds are stored in the underlying date value; the fractional seconds are stored in the `nanos` field of the `Timestamp` object.

    The calendar object is optional. If absent, the driver will treat the timestamp as `timestamp without time zone`. When present, the driver will treat the timestamp as a `timestamp with time zone` using the `TimeZone` in the calendar object. Furthermore, this calendar will be used instead of the calendar object passed to `PreparedStatement.setTimestamp(int, Timestamp, Calendar)`.

    Parameters:
      `time` - milliseconds since January 1, 1970, 00:00:00 GMT. A negative number is the number of milliseconds before January 1, 1970, 00:00:00 GMT.
      `calendar` - the calendar object containing the time zone or `null`.
    See Also:
      - `Timestamp(long)`

- ## Method Details

  - ### setCalendar

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

  - ### getCalendar

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

  - ### hashCode

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

  - ### equals

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

  - ### clone

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