Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.sql
Class Timestamp

    java.lang.Object
      |
      +--java.util.Date
            |
            +--java.sql.Timestamp

All Implemented Interfaces:
  Cloneable, Comparable, Serializable

public class Timestamp
extends Date

A thin wrapper around `java.util.Date` that allows the JDBC API to identify this as an SQL `TIMESTAMP` value. It adds the ability to hold the SQL `TIMESTAMP` nanos value and provides formatting and parsing operations to support the JDBC escape syntax for timestamp values.

Note: This type is a composite of a `java.util.Date` and a separate nanoseconds value. Only integral seconds are stored in the `java.util.Date` component. The fractional seconds - the nanos - are separate. The `getTime` method will return only integral seconds. If a time value that includes the fractional seconds is desired, you must convert nanos to milliseconds (nanos/1000000) and add this to the `getTime` value. The `Timestamp.equals(Object)` method never returns `true` when passed a value of type `java.util.Date` because the nanos component of a date is unknown. As a result, the `Timestamp.equals(Object)` method is not symmetric with respect to the `java.util.Date.equals(Object)` method. Also, the `hashcode` method uses the underlying `java.util.Data` implementation and therefore does not include nanos in its computation. Due to the differences between the `Timestamp` class and the `java.util.Date` class mentioned above, it is recommended that code not view `Timestamp` values generically as an instance of `java.util.Date`. The inheritance relationship between `Timestamp` and `java.util.Date` really denotes implementation inheritance, and not type inheritance.

See Also:
  Serialized Form

Constructor Summary
`Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)` Deprecated. instead use the constructor `Timestamp(long millis)`
`Timestamp(long time)` Constructs a `Timestamp` object using a milliseconds time value.

Method Summary
`boolean` | `after(Timestamp ts)` Indicates whether this `Timestamp` object is later than the given `Timestamp` object.
`boolean` | `before(Timestamp ts)` Indicates whether this `Timestamp` object is earlier than the given `Timestamp` object.
`boolean` | `equals(Object ts)` Tests to see if this `Timestamp` object is equal to the given object.
`boolean` | `equals(Timestamp ts)` Tests to see if this `Timestamp` object is equal to the given `Timestamp` object.
`int` | `getNanos()` Gets this `Timestamp` object's `nanos` value.
`void` | `setNanos(int n)` Sets this `Timestamp` object's `nanos` field to the given value.
`String` | `toString()` Formats a timestamp in JDBC timestamp escape format.
`static Timestamp` | `valueOf(String s)` Converts a `String` object in JDBC timestamp escape format to a `Timestamp` value.

Methods inherited from class java.util.Date
`after, before, clone, compareTo, compareTo, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTime, getTimezoneOffset, getYear, hashCode, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setTime, setYear, toGMTString, toLocaleString, UTC`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Timestamp

    public Timestamp(int year,
                     int month,
                     int date,
                     int hour,
                     int minute,
                     int second,
                     int nano)

  Deprecated. instead use the constructor `Timestamp(long millis)`

  Constructs a `Timestamp` object initialized with the given values.
  Parameters:
    `year` - year-1900
    `month` - 0 to 11
    `date` - 1 to 31
    `hour` - 0 to 23
    `minute` - 0 to 59
    `second` - 0 to 59
    `nano` - 0 to 999,999,999

### Timestamp

    public Timestamp(long time)

  Constructs a `Timestamp` object using a milliseconds time value. 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.

Method Detail

### valueOf

    public static Timestamp valueOf(String s)

  Converts a `String` object in JDBC timestamp escape format to a `Timestamp` value.
  Parameters:
    `s` - timestamp in format `yyyy-mm-dd hh:mm:ss.fffffffff`
  Returns:
    corresponding `Timestamp` value
  Throws:
    `IllegalArgumentException` - if the given argument does not have the format `yyyy-mm-dd hh:mm:ss.fffffffff`

### toString

    public String toString()

  Formats a timestamp in JDBC timestamp escape format.
  Overrides:
    `toString` in class `Date`
  Returns:
    a `String` object in `yyyy-mm-dd hh:mm:ss.fffffffff` format

### getNanos

    public int getNanos()

  Gets this `Timestamp` object's `nanos` value.
  Returns:
    this `Timestamp` object's fractional seconds component

### setNanos

    public void setNanos(int n)

  Sets this `Timestamp` object's `nanos` field to the given value.
  Parameters:
    `n` - the new fractional seconds component
  Throws:
    `IllegalArgumentException` - if the given argument is greater than 999999999 or less than 0

### equals

    public boolean equals(Timestamp ts)

  Tests to see if this `Timestamp` object is equal to the given `Timestamp` object.
  Parameters:
    `ts` - the `Timestamp` value to compare with

### equals

    public boolean equals(Object ts)

  Tests to see if this `Timestamp` object is equal to the given object. This version of the method `equals` has been added to fix the incorrect signature of `Timestamp.equals(Timestamp)` and to preserve backward compatibility with existing class files. Note: This method is not symmetric with respect to the `equals(Object)` method in the base class.
  Overrides:
    `equals` in class `Date`
  Parameters:
    `ts` - the `Object` value to compare with

### before

    public boolean before(Timestamp ts)

  Indicates whether this `Timestamp` object is earlier than the given `Timestamp` object.
  Parameters:
    `ts` - the `Timestamp` value to compare with
  Returns:
    `true` if this `Timestamp` object is earlier; `false` otherwise

### after

    public boolean after(Timestamp ts)

  Indicates whether this `Timestamp` object is later than the given `Timestamp` object.
  Parameters:
    `ts` - the `Timestamp` value to compare with
  Returns:
    `true` if this `Timestamp` object is later; `false` otherwise

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.