1. Home
  2. Home
  3. Documentation
  4. Data types
  5. Date and timestamp infinity
Last reviewed Edit this page on GitHub

Date and timestamp infinity

Reviewed 2026-05-22 against source:Java time infinity parsing:582-593, OffsetDateTime infinity parsing:644-657, LocalDate infinity parsing:803-814, Java time infinity formatting:1058-1064, OffsetDateTime infinity formatting:1150-1155, LocalDateTime infinity formatting:1219-1224, Timestamp infinity formatting:855-865, JDBC 4.2 infinity read/write tests:55-98, JDBC 4.2 infinity write tests:74-98

The driver uses the following Java values to represent negative and positive infinity for date and timestamp values:

typeNegative infinityPositive infinity
LocalDateLocalDate.MINLocalDate.MAX
LocalDateTimeLocalDateTime.MINLocalDateTime.MAX
OffsetDateTimeOffsetDateTime.MINOffsetDateTime.MAX
java.sql.Timestampwhen object’s millisecond value equals PGStatement.DATE_NEGATIVE_INFINITYwhen object’s millisecond value equals PGStatement.DATE_POSITIVE_INFINITY

Reviewed 2026-05-22 against source:PGStatement infinity constants:15-22, Timestamp infinity parsing:437-452

java.sql.Timestamp ts = myResultSet.getTimestamp("mycol");

if (ts.getTime() == PGStatement.DATE_NEGATIVE_INFINITY) {
  // The value in the database is '-infinity'
}
if (ts.getTime() == PGStatement.DATE_POSITIVE_INFINITY) {
  // The value in the database is 'infinity'
}