Home

JSR310

JSR 310, Java Specification Request 310, defined a new date and time API for the Java platform. It aimed to replace the older java.util.Date and Calendar with a modern, immutable, and thread-safe API that cleanly separates date, time, and time-zone concerns. Led by Stephen Colebourne and other contributors, the specification culminated in Java SE 8 (2014).

The API introduced the java.time package, with core classes such as LocalDate, LocalTime, LocalDateTime, ZonedDateTime, OffsetDateTime,

Key design traits include immutability and thread-safety, explicit handling of time zones and offsets, and a

Adoption and interoperability: JSR 310 became the standard date-time API in Java 8, widely adopted in Java

and
Instant,
plus
Duration,
Period,
Clock,
and
ZoneId.
It
relies
on
ISO-8601
formats
by
default
and
provides
a
fluent
API
for
construction,
modification,
and
comparison,
along
with
DateTimeFormatter
for
parsing
and
formatting.
clear
separation
of
concerns
among
date,
time,
duration,
and
calendar
concepts.
The
API
defines
Temporal,
TemporalAccessor,
ChronoUnit,
ChronoField,
and
TemporalAdjuster
to
support
extensibility
and
testing,
including
a
Clock
abstraction
for
controllable
time
sources.
applications.
It
interoperates
with
legacy
code
via
conversions
to
and
from
java.util.Date
and
Calendar
through
the
Instant
and
related
types.