| Author | Stephen Colebourne |
| Owner | Xueming Shen |
| Type | Feature |
| Scope | SE |
| Status | Closed / Delivered |
| Release | 8 |
| Component | core-libs |
| JSR | 310 |
| Discussion | core dash libs dash dev at openjdk dot java dot net |
| Effort | L |
| Duration | L |
| Blocks | JEP 170: JDBC 4.2 |
| Duplicates | JEP 151: Compress Time-Zone Data |
| Endorsed by | Brian Goetz |
| Created | 2012/02/22 20:00 |
| Updated | 2015/01/22 17:18 |
| Issue | 8046140 |
Define a new date, time, and calendar API for the Java SE platform.
It is not a goal to solve all date/time problems, but the new API shouldbe a suitable base for external extensions.
The existing Java date and time classes are poor, mutable, and haveunpredictable performance. There has been a long-standing desire for abetter date and time API based on the Joda-Time project. The new APIwill have a more intuitive design allowing code to better express itsintent. The classes will also be immutable which aligns with themulti-core direction of the industry.
TheJSR 310 EG has been working on a new date/time API for Javaplatform. The goal of this project is to integrate theJSR 310 reference implementation into JDK 8.
Integration will involve successfully working with any new module system.There may be a need to provide for core embedded and mobile module with asubset of functionality.
The project will also require the JSR 310 classes to be integrated withexisting classes. For example, there should be only one source oftime-zone data in the JDK. It is also intended that the existingformatters will support the new classes.
No specific requests beyond the normal unit/regression test development.JSR 310 has already developed a large test suite, which is being dividedinto TCK and non-TCK tests.
The project is primarily implemented by non-Oracle personnel who are notfunded to work full-time on this project.
A review of immutability and thread-safety will be necessary and isassumed.
There are no current dependencies on Project Lambda, however that maychange during integration.
The module system design for the whole JDK will affect the design ofJSR 310.
Other JDK components: Other APIs should be reviewed to see if theycould utilise JSR 310 classes
Compatibility: New code and some new methods on existing classes
Security: None expected
I18n/L10n: Might need additional i18n framework to better supportnon-Gregorian calendars
Portability: The basic work requires no additional native code,however a more precise system clock would be desirable
Documentation: Standard javadoc & examples, probably updates to thetutorial/guides
TCK: New JCK test development
Legal: Integration of BSD 3-clause licensed code from JSR 310