APIdia Launch Partner
Top Description Fields Constructors Methods
java.sql

public Class Timestamp

extends Date
Class Inheritance
Imports
java.time.Instant, .LocalDateTime

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 fractional seconds value, by allowing the specification of fractional seconds to a precision of nanoseconds. A Timestamp also provides formatting and parsing operations to support the JDBC escape syntax for timestamp values.

The precision of a Timestamp object is calculated to be either:

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 Timestamp.equals(Object) method never returns true when passed an object that isn't an instance of java.sql.Timestamp, 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.

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.

Since
1.1

Field Summary

Modifier and TypeField and Description
private static final int
private int
pack-priv static final long

Constructor Summary

AccessConstructor and Description
public
Timestamp(int
the year minus 1900
year
,
int
0 to 11
month
,
int
1 to 31
date
,
int
0 to 23
hour
,
int
0 to 59
minute
,
int
0 to 59
second
,
int
0 to 999,999,999
nano
)
Deprecated since 1.2. instead use the constructor Timestamp(long millis)

Constructs a Timestamp object initialized with the given values.

public
Timestamp(long
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.
time
)

Constructs a Timestamp object using a milliseconds time value.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if this Timestamp object is later; false otherwise
after
(Timestamp
the Timestamp value to compare with
ts
)

Indicates whether this Timestamp object is later than the given Timestamp object.

public boolean

Returns:

true if this Timestamp object is earlier; false otherwise
before
(Timestamp
the Timestamp value to compare with
ts
)

Indicates whether this Timestamp object is earlier than the given Timestamp object.

public int

Returns:

the value 0 if the two Timestamp objects are equal; a value less than 0 if this Timestamp object is before the given argument; and a value greater than 0 if this Timestamp object is after the given argument.
compareTo
(Timestamp
the Timestamp object to be compared to this Timestamp object
ts
)

Implements java.lang.Comparable.compareTo.

Compares this Timestamp object to the given Timestamp object.

public int

Returns:

the value 0 if this Timestamp object and the given object are equal; a value less than 0 if this Timestamp object is before the given argument; and a value greater than 0 if this Timestamp object is after the given argument.
compareTo
(Date
the Date to be compared to this Timestamp object
o
)

Overrides java.util.Date.compareTo.

Implements java.lang.Comparable.compareTo.

Compares this Timestamp object to the given Date object.

public boolean

Returns:

true if the given Timestamp object is equal to this Timestamp object; false otherwise
equals
(Timestamp
the Timestamp value to compare with
ts
)

Tests to see if this Timestamp object is equal to the given Timestamp object.

public boolean

Returns:

true if the given Object is an instance of a Timestamp that is equal to this Timestamp object; false otherwise
equals
(Object
the Object value to compare with
ts
)

Overrides java.util.Date.equals.

Tests to see if this Timestamp object is equal to the given object.

public static Timestamp

Returns:

an Timestamp representing the same point on the time-line as the provided instant
from
(Instant
the instant to convert
instant
)

Hides java.util.Date.from.

Obtains an instance of Timestamp from an Instant object.

public int

Returns:

this Timestamp object's fractional seconds component
getNanos
()

Gets this Timestamp object's nanos value.

public long

Returns:

the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date.
getTime
()

Overrides java.util.Date.getTime.

Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Timestamp object.

public int

Returns:

a hash code value for this Timestamp.
hashCode
()

Overrides java.util.Date.hashCode.

Returns a hash code value for this Timestamp.

public void
setNanos(int
the new fractional seconds component
n
)

Sets this Timestamp object's nanos field to the given value.

public void
setTime(long
the number of milliseconds.
time
)

Overrides java.util.Date.setTime.

Sets this Timestamp object to represent a point in time that is time milliseconds after January 1, 1970 00:00:00 GMT.

public Instant

Returns:

an instant representing the same point on the time-line
toInstant
()

Overrides java.util.Date.toInstant.

Converts this Timestamp object to an Instant.

public LocalDateTime

Returns:

a LocalDateTime object representing the same date-time value
toLocalDateTime
()

Converts this Timestamp object to a LocalDateTime.

public String

Returns:

a String object in yyyy-mm-dd hh:mm:ss.fffffffff format
toString
()

Overrides java.util.Date.toString.

Formats a timestamp in JDBC timestamp escape format.

public static Timestamp

Returns:

corresponding Timestamp value
valueOf
(String
timestamp in format yyyy-[m]m-[d]d hh:mm:ss[.f...]. The fractional seconds may be omitted. The leading zero for mm and dd may also be omitted.
s
)

Converts a String object in JDBC timestamp escape format to a Timestamp value.

public static Timestamp

Returns:

a Timestamp object
valueOf
(LocalDateTime
a LocalDateTime to convert
dateTime
)

Obtains an instance of Timestamp from a LocalDateTime object, with the same year, month, day of month, hours, minutes, seconds and nanos date-time value as the provided LocalDateTime.

Inherited from java.util.Date:
afterbeforeclonegetDategetDaygetHoursgetMinutesgetMonthgetSecondsgetTimezoneOffsetgetYearparsesetDatesetHourssetMinutessetMonthsetSecondssetYeartoGMTStringtoLocaleStringUTC

Field Detail

MILLIS_PER_SECONDback to summary
private static final int MILLIS_PER_SECOND
nanosback to summary
private int nanos
serialVersionUIDback to summary
pack-priv static final long serialVersionUID

Hides java.util.Date.serialVersionUID.

Constructor Detail

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

Deprecated

since 1.2.

instead use the constructor Timestamp(long millis)

Constructs a Timestamp object initialized with the given values.

Parameters
year:int

the year minus 1900

month:int

0 to 11

date:int

1 to 31

hour:int

0 to 23

minute:int

0 to 59

second:int

0 to 59

nano:int

0 to 999,999,999

Annotations
@Deprecated
since:1.2
Exceptions
IllegalArgumentException:
if the nano argument is out of bounds
Timestampback to summary
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:long

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
java.util.Calendar

Method Detail

afterback to summary
public boolean after(Timestamp ts)

Indicates whether this Timestamp object is later than the given Timestamp object.

Parameters
ts:Timestamp

the Timestamp value to compare with

Returns:boolean

true if this Timestamp object is later; false otherwise

beforeback to summary
public boolean before(Timestamp ts)

Indicates whether this Timestamp object is earlier than the given Timestamp object.

Parameters
ts:Timestamp

the Timestamp value to compare with

Returns:boolean

true if this Timestamp object is earlier; false otherwise

compareToback to summary
public int compareTo(Timestamp ts)

Implements java.lang.Comparable.compareTo.

Compares this Timestamp object to the given Timestamp object.

Parameters
ts:Timestamp

the Timestamp object to be compared to this Timestamp object

Returns:int

the value 0 if the two Timestamp objects are equal; a value less than 0 if this Timestamp object is before the given argument; and a value greater than 0 if this Timestamp object is after the given argument.

Since
1.4
compareToback to summary
public int compareTo(Date o)

Overrides java.util.Date.compareTo.

Implements java.lang.Comparable.compareTo.

Compares this Timestamp object to the given Date object.

Parameters
o:Date

the Date to be compared to this Timestamp object

Returns:int

the value 0 if this Timestamp object and the given object are equal; a value less than 0 if this Timestamp object is before the given argument; and a value greater than 0 if this Timestamp object is after the given argument.

Since
1.5
equalsback to summary
public boolean equals(Timestamp ts)

Tests to see if this Timestamp object is equal to the given Timestamp object.

Parameters
ts:Timestamp

the Timestamp value to compare with

Returns:boolean

true if the given Timestamp object is equal to this Timestamp object; false otherwise

equalsback to summary
public boolean equals(Object ts)

Overrides java.util.Date.equals.

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.

Parameters
ts:Object

the Object value to compare with

Returns:boolean

true if the given Object is an instance of a Timestamp that is equal to this Timestamp object; false otherwise

fromback to summary
public static Timestamp from(Instant instant)

Hides java.util.Date.from.

Obtains an instance of Timestamp from an Instant object.

Instant can store points on the time-line further in the future and further in the past than Date. In this scenario, this method will throw an exception.

Parameters
instant:Instant

the instant to convert

Returns:Timestamp

an Timestamp representing the same point on the time-line as the provided instant

Exceptions
NullPointerException:
if instant is null.
IllegalArgumentException:
if the instant is too large to represent as a Timestamp
Since
1.8
getNanosback to summary
public int getNanos()

Gets this Timestamp object's nanos value.

Returns:int

this Timestamp object's fractional seconds component

See Also
setNanos
getTimeback to summary
public long getTime()

Overrides java.util.Date.getTime.

Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Timestamp object.

Returns:long

the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this date.

See Also
setTime
hashCodeback to summary
public int hashCode()

Overrides java.util.Date.hashCode.

Returns a hash code value for this Timestamp. The result is the exclusive OR of the two halves of the primitive long value returned by the getTime method. That is, the hash code is the value of the expression:

(int)(this.getTime()^(this.getTime() >>> 32))
(int)(this.getTime()^(this.getTime() >>> 32))
Returns:int

a hash code value for this Timestamp.

Annotations
@Override
setNanosback to summary
public void setNanos(int n)

Sets this Timestamp object's nanos field to the given value.

Parameters
n:int

the new fractional seconds component

Exceptions
IllegalArgumentException:
if the given argument is greater than 999999999 or less than 0
See Also
getNanos
setTimeback to summary
public void setTime(long time)

Overrides java.util.Date.setTime.

Sets this Timestamp object to represent a point in time that is time milliseconds after January 1, 1970 00:00:00 GMT.

Parameters
time:long

the number of milliseconds.

See Also
getTime, Timestamp(long time), java.util.Calendar
toInstantback to summary
public Instant toInstant()

Overrides java.util.Date.toInstant.

Converts this Timestamp object to an Instant.

The conversion creates an Instant that represents the same point on the time-line as this Timestamp.

Returns:Instant

an instant representing the same point on the time-line

Annotations
@Override
Since
1.8
toLocalDateTimeback to summary
public LocalDateTime toLocalDateTime()

Converts this Timestamp object to a LocalDateTime.

The conversion creates a LocalDateTime that represents the same year, month, day of month, hours, minutes, seconds and nanos date-time value as this Timestamp in the local time zone.

Returns:LocalDateTime

a LocalDateTime object representing the same date-time value

Annotations
@SuppressWarnings:deprecation
Since
1.8
toStringback to summary
public String toString()

Overrides java.util.Date.toString.

Formats a timestamp in JDBC timestamp escape format. yyyy-mm-dd hh:mm:ss.fffffffff, where fffffffff indicates nanoseconds.

Returns:String

a String object in yyyy-mm-dd hh:mm:ss.fffffffff format

Annotations
@SuppressWarnings:deprecation
valueOfback to summary
public static Timestamp valueOf(String s)

Converts a String object in JDBC timestamp escape format to a Timestamp value.

Parameters
s:String

timestamp in format yyyy-[m]m-[d]d hh:mm:ss[.f...]. The fractional seconds may be omitted. The leading zero for mm and dd may also be omitted.

Returns:Timestamp

corresponding Timestamp value

Exceptions
IllegalArgumentException:
if the given argument does not have the format yyyy-[m]m-[d]d hh:mm:ss[.f...]
valueOfback to summary
public static Timestamp valueOf(LocalDateTime dateTime)

Obtains an instance of Timestamp from a LocalDateTime object, with the same year, month, day of month, hours, minutes, seconds and nanos date-time value as the provided LocalDateTime.

The provided LocalDateTime is interpreted as the local date-time in the local time zone.

Parameters
dateTime:LocalDateTime

a LocalDateTime to convert

Returns:Timestamp

a Timestamp object

Exceptions
NullPointerException:
if dateTime is null.
Since
1.8