com.amazon.redshift.util

## Class RedshiftTimestamp

- java.lang.Object
- - java.util.Date
  - - java.sql.Timestamp
    - - com.amazon.redshift.util.RedshiftTimestamp

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

    public class RedshiftTimestamp
    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 and Description
`RedshiftTimestamp(long time)` Constructs a `RedshiftTimestamp` without a time zone.
`RedshiftTimestamp(long time, Calendar calendar)` Constructs a `RedshiftTimestamp` with the given time zone.
`RedshiftTimestamp(long time, Calendar calendar, String s)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Object` `clone()`
`boolean` `equals(Object obj)`
`Calendar` `getCalendar()` Returns the calendar object for this timestamp.
`String` `getPostgresqlString()` Specialized to string method to return the timestamp in a format that is the same as opensource driver
`int` `hashCode()`
`void` `setCalendar(Calendar calendar)` Sets the calendar object for this timestamp.
`String` `toString()`

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

`after, before, compareTo, compareTo, equals, from, getNanos, getTime, setNanos, setTime, toInstant, toLocalDateTime, 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 Detail

#### RedshiftTimestamp

    public RedshiftTimestamp(long time)

Constructs a `RedshiftTimestamp` 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)`

#### RedshiftTimestamp

    public RedshiftTimestamp(long time,
                             Calendar calendar)

Constructs a `RedshiftTimestamp` 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)`

#### RedshiftTimestamp

    public RedshiftTimestamp(long time,
                             Calendar calendar,
                             String s)

### Method Detail

#### setCalendar

    public void setCalendar(Calendar calendar)

Sets the calendar object for this timestamp.

Parameters:
  `calendar` - the calendar object or `null`.

#### getCalendar

    public 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(Object obj)

Overrides:
  `equals` in class `Timestamp`

#### clone

    public Object clone()

Overrides:
  `clone` in class `Date`

#### toString

    public String toString()

Overrides:
  `toString` in class `Timestamp`

#### getPostgresqlString

    public String getPostgresqlString()

Specialized to string method to return the timestamp in a format that is the same as opensource driver

Returns:
  String to match the opensource driver's get string method