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 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:
19 , which is the number of characters in yyyy-mm-dd hh:mm:ss 20 + s , which is the number of characters in the yyyy-mm-dd hh:mm:ss.[fff...] and s represents the scale of the given Timestamp, its fractional seconds precision. 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. Also, the hashCode method uses the underlying java.util.Date 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.
| Constructor and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
after(Timestamp
Indicates whether this
Timestamp object is later than the given
Timestamp object.
|
boolean |
before(Timestamp
Indicates whether this
Timestamp object is earlier than the given
Timestamp object.
|
int |
compareTo(Date
Compares this
Timestamp object to the given
Date object.
|
int |
compareTo(Timestamp
Compares this
Timestamp object to the given
Timestamp object.
|
boolean |
equals(Object
Tests to see if this
Timestamp object is equal to the given object.
|
boolean |
equals(Timestamp
Tests to see if this
Timestamp object is equal to the given
Timestamp object.
|
static Timestamp |
from(Instant
Obtains an instance of
Timestamp from an
Instant object.
|
int |
getNanos()
Gets this
Timestamp object's
nanos value.
|
long |
getTime()
Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this
Timestamp object.
|
int |
hashCode()
Returns a hash code value for this object.
|
void |
setNanos(int n)
Sets this
Timestamp object's
nanos field to the given value.
|
void |
setTime(long time)
Sets this
Timestamp object to represent a point in time that is
time milliseconds after January 1, 1970 00:00:00 GMT.
|
Instant |
toInstant()
Converts this
Timestamp object to an
Instant.
|
LocalDateTime |
toLocalDateTime()
Converts this
Timestamp object to a
LocalDateTime.
|
String |
toString()
Formats a timestamp in JDBC timestamp escape format.
|
static Timestamp |
valueOf(LocalDateTime
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.
|
static Timestamp |
valueOf(String
Converts a
String object in JDBC timestamp escape format to a
Timestamp value.
|
after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC@Deprecated public Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
Timestamp(long millis)
Timestamp object initialized with the given values.
year - the year minus 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
IllegalArgumentException - if the nano argument is out of bounds
public Timestamp(long time)
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.
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
public void setTime(long time)
Timestamp object to represent a point in time that is
time milliseconds after January 1, 1970 00:00:00 GMT.
setTime in class
Date
time - the number of milliseconds.
getTime(),
Timestamp(long time),
Calendar
public long getTime()
Timestamp object.
getTime in class
Date
setTime(long)
public static TimestampvalueOf(String s)
String object in JDBC timestamp escape format to a
Timestamp value.
s - 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.
Timestamp value
IllegalArgumentException - if the given argument does not have the format
yyyy-[m]m-[d]d hh:mm:ss[.f...]
public StringtoString()
yyyy-mm-dd hh:mm:ss.fffffffff, where
ffffffffff indicates nanoseconds.
toString in class
Date
String object in
yyyy-mm-dd hh:mm:ss.fffffffff format
Date.toLocaleString() ,
Date.toGMTString()
public int getNanos()
Timestamp object's
nanos value.
Timestamp object's fractional seconds component
setNanos(int)
public void setNanos(int n)
Timestamp object's
nanos field to the given value.
n - the new fractional seconds component
IllegalArgumentException - if the given argument is greater than 999999999 or less than 0
getNanos()
public boolean equals(Timestampts)
Timestamp object is equal to the given
Timestamp object.
ts - the
Timestamp value to compare with
true if the given
Timestamp object is equal to this
Timestamp object;
false otherwise
public boolean equals(Objectts)
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.
equals in class
Date
ts - the
Object value to compare with
true if the given
Object is an instance of a
Timestamp that is equal to this
Timestamp object;
false otherwise
Date.getTime()
public boolean before(Timestampts)
Timestamp object is earlier than the given
Timestamp object.
ts - the
Timestamp value to compare with
true if this
Timestamp object is earlier;
false otherwise
public boolean after(Timestampts)
Timestamp object is later than the given
Timestamp object.
ts - the
Timestamp value to compare with
true if this
Timestamp object is later;
false otherwise
public int compareTo(Timestampts)
Timestamp object to the given
Timestamp object.
ts - the
Timestamp object to be compared to this
Timestamp object
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.
public int compareTo(Dateo)
Timestamp object to the given
Date object.
compareTo in interface
Comparable<Date>
compareTo in class
Date
o - the
Date to be compared to this
Timestamp object
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.
public int hashCode()
Date.getTime() method. That is, the hash code is the value of the expression:
The(int)(this.getTime()^(this.getTime() >>> 32))
hashCode method uses the underlying
java.util.Date implementation and therefore does not include nanos in its computation.
hashCode in class
Date
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public static TimestampvalueOf(LocalDateTime dateTime)
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.
dateTime - a
LocalDateTime to convert
Timestamp object
NullPointerException - if
dateTime is null.
public LocalDateTimetoLocalDateTime()
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.
LocalDateTime object representing the same date-time value
public static Timestampfrom(Instant instant)
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.
instant - the instant to convert
Timestamp representing the same point on the time-line as the provided instant
NullPointerException - if
instant is null.
IllegalArgumentException - if the instant is too large to represent as a
Timesamp