Spec-Zone.ru › OpenJDK 25

Класс Timestamp

java.lang.Object
java.util.Date
java.sql.Timestamp
Все реализуемые интерфейсы:
Serializable, Cloneable, Comparable<Date>
public class Timestamp extends Date

Тонкая обёртка над java.util.Date, позволяющая API JDBC распознавать это значение как значение SQL TIMESTAMP. Она добавляет возможность хранения значения SQL TIMESTAMP с дробными секундами, позволяя указывать дробные секунды с точностью до наносекунд. Timestamp также предоставляет операции форматирования и разбора для поддержки синтаксиса JDBC escape-последовательностей для значений временных меток.

Точность объекта Timestamp рассчитывается следующим образом:

  • 19 — число символов в yyyy-mm-dd hh:mm:ss
  • 20 + s — число символов в yyyy-mm-dd hh:mm:ss.[fff...], а s обозначает масштаб заданного Timestamp, то есть точность его дробных секунд.

Примечание: Этот тип представляет собой комбинацию java.util.Date и отдельного значения наносекунд. В компоненте java.util.Date хранятся только целые секунды. Дробные секунды — наносекунды — хранятся отдельно. Метод Timestamp.equals(Object) никогда не возвращает true, если ему передан объект, не являющийся экземпляром java.sql.Timestamp, поскольку компонент наносекунд даты неизвестен. В результате метод Timestamp.equals(Object) не является симметричным относительно метода java.util.Date.equals(Object). Кроме того, метод hashCode использует базовую реализацию java.util.Date и поэтому не учитывает наносекунды при вычислении.

Ввиду упомянутых выше различий между классом Timestamp и классом java.util.Date рекомендуется не рассматривать значения Timestamp как экземпляры java.util.Date в общем случае. Отношение наследования между Timestamp и java.util.Date фактически обозначает наследование реализации, а не наследование типов.

Начиная с версии:
1.1
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
Устарел.
вместо него используйте конструктор Timestamp(long millis)
Timestamp(long time)
Создаёт объект Timestamp с использованием значения времени в миллисекундах.

Краткое описание методов

Модификатор и тип Метод Описание
boolean after(Timestamp ts)
Показывает, является ли этот объект Timestamp более поздним, чем заданный объект Timestamp.
boolean before(Timestamp ts)
Показывает, является ли этот объект Timestamp более ранним, чем заданный объект Timestamp.
int compareTo(Timestamp ts)
Сравнивает этот объект Timestamp с заданным объектом Timestamp.
int compareTo(Date o)
Сравнивает этот объект Timestamp с заданным объектом Date.
boolean equals(Object ts)
Проверяет, равен ли этот объект Timestamp заданному объекту.
boolean equals(Timestamp ts)
Проверяет, равен ли этот объект Timestamp заданному объекту Timestamp.
static Timestamp from(Instant instant)
Получает экземпляр Timestamp из объекта Instant.
int getNanos()
Возвращает значение nanos объекта Timestamp.
long getTime()
Возвращает число миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, представленных этим объектом Timestamp.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
void setNanos(int n)
Задаёт полю nanos этого объекта Timestamp указанное значение.
void setTime(long time)
Задаёт этому объекту Timestamp представление момента времени, который наступает через time миллисекунд после 1 января 1970 года, 00:00:00 GMT.
Instant toInstant()
Преобразует этот объект Timestamp в Instant.
LocalDateTime toLocalDateTime()
Преобразует этот объект Timestamp в LocalDateTime.
String toString()
Форматирует временную метку в формате escape-последовательности временной метки JDBC.
static Timestamp valueOf(String s)
Преобразует объект String в формате escape-последовательности временной метки JDBC в значение Timestamp.
static Timestamp valueOf(LocalDateTime dateTime)
Получает экземпляр Timestamp из объекта LocalDateTime с теми же значениями года, месяца, дня месяца, часов, минут, секунд и наносекунд, что и у предоставленного значения даты и времени LocalDateTime.

Методы, объявленные в классе Date

after, before, clone, getDate, getDay, getHours, getMinutes, getMonth, getSeconds, getTimezoneOffset, getYear, parse, setDate, setHours, setMinutes, setMonth, setSeconds, setYear, toGMTString, toLocaleString, UTC

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

Timestamp

@Deprecated(since="1.2") public Timestamp(int year, int month, int date, int hour, int minute, int second, int nano)
Устарел.
вместо него используйте конструктор Timestamp(long millis)
Создаёт объект Timestamp, инициализированный указанными значениями.
Параметры:
year — год минус 1900
month — от 0 до 11
date — от 1 до 31
hour — от 0 до 23
minute — от 0 до 59
second — от 0 до 59
nano — от 0 до 999 999 999
Исключения:
IllegalArgumentException — если аргумент nano выходит за допустимые пределы

Timestamp

public Timestamp(long time)
Создаёт объект Timestamp с использованием значения времени в миллисекундах. Целые секунды хранятся в базовом значении даты; дробные секунды хранятся в поле nanos объекта Timestamp.
Параметры:
time — число миллисекунд с 1 января 1970 года, 00:00:00 GMT. Отрицательное число обозначает число миллисекунд до 1 января 1970 года, 00:00:00 GMT.
См. также:
  • Calendar

Подробное описание методов

setTime

public void setTime(long time)
Задаёт этому объекту Timestamp представление момента времени, который наступает через time миллисекунд после 1 января 1970 года, 00:00:00 GMT.
Переопределяет:
setTime в классе Date
Параметры:
time — число миллисекунд.
См. также:
  • getTime()
  • Timestamp(long time)
  • Calendar

getTime

public long getTime()
Возвращает число миллисекунд, прошедших с 1 января 1970 года, 00:00:00 GMT, представленных этим объектом Timestamp.
Переопределяет:
getTime в классе Date
Возвращает:
число миллисекунд с 1 января 1970 года, 00:00:00 GMT, представленных этой датой.
См. также:
  • setTime(long)

valueOf

public static Timestamp valueOf(String s)
Преобразует объект String в формате escape-последовательности временной метки JDBC в значение Timestamp.
Параметры:
s — временная метка в формате yyyy-[m]m-[d]d hh:mm:ss[.f...]. Дробные секунды можно опустить. Начальный ноль в mm и dd также можно опустить.
Возвращает:
соответствующее значение Timestamp
Исключения:
IllegalArgumentException — если заданный аргумент не соответствует формату yyyy-[m]m-[d]d hh:mm:ss[.f...]

toString

public String toString()
Форматирует временную метку в формате escape-последовательности временной метки JDBC. yyyy-mm-dd hh:mm:ss.fffffffff, где fffffffff обозначает наносекунды.
Переопределяет:
toString в классе Date
Возвращает:
объект String в формате yyyy-mm-dd hh:mm:ss.fffffffff
См. также:
  • Date.toLocaleString()
  • Date.toGMTString()

getNanos

public int getNanos()
Возвращает значение nanos объекта Timestamp.
Возвращает:
компонент дробных секунд этого объекта Timestamp
См. также:
  • setNanos(int)

setNanos

public void setNanos(int n)
Задаёт полю nanos этого объекта Timestamp указанное значение.
Параметры:
n — новый компонент дробных секунд
Исключения:
IllegalArgumentException — если заданный аргумент больше 999999999 или меньше 0
См. также:
  • getNanos()

equals

public boolean equals(Timestamp ts)
Проверяет, равен ли этот объект Timestamp заданному объекту Timestamp.
Параметры:
ts — значение Timestamp для сравнения
Возвращает:
true, если заданный объект Timestamp равен этому объекту Timestamp; в противном случае — false

equals

public boolean equals(Object ts)
Проверяет, равен ли этот объект Timestamp заданному объекту. Эта версия метода equals добавлена, чтобы исправить неверную сигнатуру Timestamp.equals(Timestamp) и сохранить обратную совместимость с существующими файлами классов. Примечание: этот метод не является симметричным относительно метода equals(Object) базового класса.
Переопределяет:
equals в классе Date
Параметры:
ts — значение Object для сравнения
Возвращает:
true, если заданный Object является экземпляром Timestamp, равным этому объекту Timestamp; в противном случае — false
См. также:
  • Date.getTime()

before

public boolean before(Timestamp ts)
Показывает, является ли этот объект Timestamp более ранним, чем заданный объект Timestamp.
Параметры:
ts — значение Timestamp для сравнения
Возвращает:
true, если этот объект Timestamp является более ранним; в противном случае — false

after

public boolean after(Timestamp ts)
Показывает, является ли этот объект Timestamp более поздним, чем заданный объект Timestamp.
Параметры:
ts — значение Timestamp для сравнения
Возвращает:
true, если этот объект Timestamp является более поздним; в противном случае — false

compareTo

public int compareTo(Timestamp ts)
Сравнивает этот объект Timestamp с заданным объектом Timestamp.
Параметры:
ts — объект Timestamp, сравниваемый с этим объектом Timestamp
Возвращает:
значение 0, если два объекта Timestamp равны; значение меньше 0, если этот объект Timestamp предшествует заданному аргументу; и значение больше 0, если этот объект Timestamp следует за заданным аргументом.
Начиная с версии:
1.4

compareTo

public int compareTo(Date o)
Сравнивает этот объект Timestamp с заданным объектом Date.
Определён в:
compareTo в интерфейсе Comparable<Date>
Переопределяет:
compareTo в классе Date
Параметры:
o — значение Date, сравниваемое с этим объектом Timestamp
Возвращает:
значение 0, если этот объект Timestamp и заданный объект равны; значение меньше 0, если этот объект Timestamp предшествует заданному аргументу; и значение больше 0, если этот объект Timestamp следует за заданным аргументом.
Начиная с версии:
1.5

hashCode

public int hashCode()
Возвращает значение хеш-кода для этого объекта. Результат представляет собой исключающее ИЛИ двух половин примитивного значения long, возвращаемого методом Date.getTime(). Иными словами, хеш-код равен значению выражения:
(int)(this.getTime()^(this.getTime() >>> 32))
Метод hashCode использует базовую реализацию java.util.Date и поэтому не учитывает наносекунды при вычислении.
Переопределяет:
hashCode в классе Date
Возвращает:
значение хеш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

valueOf

public static Timestamp valueOf(LocalDateTime dateTime)
Получает экземпляр Timestamp из объекта LocalDateTime с теми же значениями года, месяца, дня месяца, часов, минут, секунд и наносекунд, что и у предоставленного значения даты и времени LocalDateTime.

Предоставленное значение LocalDateTime интерпретируется как местные дата и время в локальном часовом поясе.

Параметры:
dateTime — объект LocalDateTime для преобразования
Возвращает:
объект Timestamp
Исключения:
NullPointerException — если dateTime равен null.
Начиная с версии:
1.8

toLocalDateTime

public LocalDateTime toLocalDateTime()
Преобразует этот объект Timestamp в LocalDateTime.

В результате преобразования создаётся LocalDateTime, представляющий те же значения года, месяца, дня месяца, часов, минут, секунд и наносекунд, что и этот объект Timestamp в локальном часовом поясе.

Возвращает:
объект LocalDateTime, представляющий то же значение даты и времени
Начиная с версии:
1.8

from

public static Timestamp from(Instant instant)
Получает экземпляр Timestamp из объекта Instant.

Instant может хранить точки на временной шкале, расположенные дальше в будущем и прошлом, чем Date. В этом случае данный метод выбрасывает исключение.

Параметры:
instant — момент времени для преобразования
Возвращает:
объект Timestamp, представляющий ту же точку на временной шкале, что и предоставленный момент времени
Исключения:
NullPointerException — если instant равен null.
IllegalArgumentException — если момент времени слишком велик, чтобы его можно было представить как Timestamp
Начиная с версии:
1.8

toInstant

public Instant toInstant()
Преобразует этот объект Timestamp в Instant.

В результате преобразования создаётся Instant, представляющий ту же точку на временной шкале, что и этот объект Timestamp.

Переопределяет:
toInstant в классе Date
Возвращает:
момент времени, представляющий ту же точку на временной шкале
Начиная с версии:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.sql/java/sql/Timestamp.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API