Package java.sql

Class Timestamp

java.lang.Object
java.util.Date
java.sql.Timestamp
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Date>

public class Timestamp
extends Date
A Java representation of the SQL TIMESTAMP type. It provides the capability of representing the SQL TIMESTAMP nanosecond value, in addition to the regular date/time value which has millisecond resolution.

The Timestamp class consists of a regular date/time value, where only the integral seconds value is stored, plus a nanoseconds value where the fractional seconds are stored.

The addition of the nanosecond value field to the Timestamp object makes it significantly different from the java.util.Date object which it extends. Users should be aware that Timestamp objects are not interchangable with java.util.Date objects when used outside the confines of the java.sql package.

See Also:
Date, Time, Date, Serialized Form
  • Constructor Summary

    Constructors
    Constructor Description
    Timestamp​(int theYear, int theMonth, int theDate, int theHour, int theMinute, int theSecond, int theNano)
    Deprecated.
    Use the constructor Timestamp(long) instead.
    Timestamp​(long theTime)
    Returns a Timestamp object corresponding to the time represented by a supplied time value.
  • Method Summary

    Modifier and Type Method Description
    boolean after​(Timestamp theTimestamp)
    Returns true if this timestamp object is later than the supplied timestamp, otherwise returns false.
    boolean before​(Timestamp theTimestamp)
    Returns true if this Timestamp object is earlier than the supplied timestamp, otherwise returns false.
    int compareTo​(Timestamp theTimestamp)
    Compares this Timestamp object with a supplied Timestamp object.
    int compareTo​(Date theObject)
    Compares this Timestamp object with a supplied Timestamp object.
    boolean equals​(Object theObject)
    Tests to see if this timestamp is equal to a supplied object.
    boolean equals​(Timestamp theTimestamp)
    Tests to see if this timestamp is equal to a supplied timestamp.
    int getNanos()
    Gets this Timestamp's nanosecond value
    long getTime()
    Returns the time represented by this Timestamp object, as a long value containing the number of milliseconds since the Epoch (January 1 1970, 00:00:00.000 GMT).
    void setNanos​(int n)
    Sets the nanosecond value for this Timestamp.
    void setTime​(long theTime)
    Sets the time represented by this Timestamp object to the supplied time, defined as the number of milliseconds since the Epoch (January 1 1970, 00:00:00.000 GMT).
    String toString()
    Returns the timestamp formatted as a String in the JDBC Timestamp Escape format, which is "yyyy-MM-dd HH:mm:ss.nnnnnnnnn".
    static Timestamp valueOf​(String s)
    Creates a Timestamp object with a time value equal to the time specified by a supplied String holding the time in JDBC timestamp escape format, which is "yyyy-MM-dd HH:mm:ss.nnnnnnnnn"

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Timestamp

      @Deprecated public Timestamp​(int theYear, int theMonth, int theDate, int theHour, int theMinute, int theSecond, int theNano) throws IllegalArgumentException
      Deprecated.
      Use the constructor Timestamp(long) instead.
      Returns a Timestamp corresponding to the time specified by the supplied values for Year, Month, Date, Hour, Minutes, Seconds and Nanoseconds.
      Parameters:
      theYear - specified as the year minus 1900.
      theMonth - specified as an integer in the range [0,11].
      theDate - specified as an integer in the range [1,31].
      theHour - specified as an integer in the range [0,23].
      theMinute - specified as an integer in the range [0,59].
      theSecond - specified as an integer in the range [0,59].
      theNano - which defines the nanosecond value of the timestamp specified as an integer in the range [0,999'999'999]
      Throws:
      IllegalArgumentException - if any of the parameters is out of range.
    • Timestamp

      public Timestamp​(long theTime)
      Returns a Timestamp object corresponding to the time represented by a supplied time value.
      Parameters:
      theTime - a time value in the format of milliseconds since the Epoch (January 1 1970 00:00:00.000 GMT).
  • Method Details

    • after

      public boolean after​(Timestamp theTimestamp)
      Returns true if this timestamp object is later than the supplied timestamp, otherwise returns false.
      Parameters:
      theTimestamp - the timestamp to compare with this timestamp object.
      Returns:
      true if this Timestamp object is later than the supplied timestamp, false otherwise.
    • before

      public boolean before​(Timestamp theTimestamp)
      Returns true if this Timestamp object is earlier than the supplied timestamp, otherwise returns false.
      Parameters:
      theTimestamp - the timestamp to compare with this Timestamp object.
      Returns:
      true if this Timestamp object is earlier than the supplied timestamp, false otherwise.
    • compareTo

      public int compareTo​(Date theObject) throws ClassCastException
      Compares this Timestamp object with a supplied Timestamp object.
      Specified by:
      compareTo in interface Comparable<Date>
      Overrides:
      compareTo in class Date
      Parameters:
      theObject - the timestamp to compare with this Timestamp object, passed as an Object.
      Returns:
      0 if the two Timestamp objects are equal in time
      a value < 0 if this Timestamp object is before the supplied Timestamp and a value
      > 0 if this Timestamp object is after the supplied Timestamp
      Throws:
      ClassCastException - if the supplied object is not a Timestamp object.
    • compareTo

      public int compareTo​(Timestamp theTimestamp)
      Compares this Timestamp object with a supplied Timestamp object.
      Parameters:
      theTimestamp - the timestamp to compare with this Timestamp object, passed in as a Timestamp.
      Returns:
      one of the following:
      • 0, if the two Timestamp objects are equal in time
      • < 0, if this Timestamp object is before the supplied Timestamp
      • > 0, if this Timestamp object is after the supplied Timestamp
    • equals

      public boolean equals​(Object theObject)
      Tests to see if this timestamp is equal to a supplied object.
      Overrides:
      equals in class Date
      Parameters:
      theObject - the object to which this timestamp is compared.
      Returns:
      true if this Timestamp object is equal to the supplied Timestamp object
      false if the object is not a Timestamp object or if the object is a Timestamp but represents a different instant in time.
      See Also:
      Date.hashCode()
    • equals

      public boolean equals​(Timestamp theTimestamp)
      Tests to see if this timestamp is equal to a supplied timestamp.
      Parameters:
      theTimestamp - the timestamp to compare with this Timestamp object, passed as an Object.
      Returns:
      true if this Timestamp object is equal to the supplied Timestamp object, false otherwise.
    • getNanos

      public int getNanos()
      Gets this Timestamp's nanosecond value
      Returns:
      The timestamp's nanosecond value, an integer between 0 and 999,999,999.
    • getTime

      public long getTime()
      Returns the time represented by this Timestamp object, as a long value containing the number of milliseconds since the Epoch (January 1 1970, 00:00:00.000 GMT).
      Overrides:
      getTime in class Date
      Returns:
      the number of milliseconds that have passed since January 1 1970, 00:00:00.000 GMT.
    • setNanos

      public void setNanos​(int n) throws IllegalArgumentException
      Sets the nanosecond value for this Timestamp.
      Parameters:
      n - number of nanoseconds.
      Throws:
      IllegalArgumentException - if number of nanoseconds smaller than 0 or greater than 999,999,999.
    • setTime

      public void setTime​(long theTime)
      Sets the time represented by this Timestamp object to the supplied time, defined as the number of milliseconds since the Epoch (January 1 1970, 00:00:00.000 GMT).
      Overrides:
      setTime in class Date
      Parameters:
      theTime - number of milliseconds since the Epoch (January 1 1970, 00:00:00.000 GMT).
    • toString

      public String toString()
      Returns the timestamp formatted as a String in the JDBC Timestamp Escape format, which is "yyyy-MM-dd HH:mm:ss.nnnnnnnnn".
      Overrides:
      toString in class Date
      Returns:
      A string representing the instant defined by the Timestamp, in JDBC Timestamp escape format.
    • valueOf

      public static Timestamp valueOf​(String s) throws IllegalArgumentException
      Creates a Timestamp object with a time value equal to the time specified by a supplied String holding the time in JDBC timestamp escape format, which is "yyyy-MM-dd HH:mm:ss.nnnnnnnnn"
      Parameters:
      s - the String containing a time in JDBC timestamp escape format.
      Returns:
      A Timestamp object with time value as defined by the supplied String.
      Throws:
      IllegalArgumentException - if the provided string is null.