I was just wondering what the differences between Joda’s LocalDate class and java.util’s Date class were. Also, are there any advantages in using one over the other?
I was just wondering what the differences between Joda’s LocalDate class and java.util’s Date
Share
I think the Joda Time Website explains it all very well.
Joda-Time has been created to radically change date and time handling in Java.
The JDK classes Date and Calendar are very badly designed, have had numerous bugs
and have odd performance effects.
Here are some of our reasons for developing and using Joda-Time:
Calendar makes accessing ‘normal’ dates difficult, due to the lack of simple methods.
Joda-Time has straightforward field accessors such as
getYear() or getDayOfWeek().
The JDK supports multiple calendar systems via subclasses of Calendar.
This is clunky, and in practice it is very difficult to write another calendar system.
Joda-Time supports multiple calendar systems via a pluggable system based on the
Chronology class.
The library is intended to provide all the functionality that is required for date-time
calculations. It already provides out-of-the-box features, such as support for oddball
date formats, which are difficult to replicate with the JDK.
The time zone implementation is based on
the public tz database, which is
updated several times a year. New Joda-Time releases incorporate all changes
made to this database. Should the changes be needed earlier,
manually updating the zone data is easy.
The library currently provides 8 calendar systems. More will be added in the future.
The library internally uses a millisecond instant which is identical to the JDK and similar
to other common time representations. This makes interoperability easy, and Joda-Time comes
with out-of-the-box JDK interoperability.
Calendar has strange performance characteristics as it recalculates fields at unexpected moments.
Joda-Time does only the minimal calculation for the field that is being accessed.
Joda-Time has a comprehensive set of developer tests, providing assurance of the library’s quality.
There is a full User Guide which provides an overview and covers
common usage scenarios. The javadoc
is extremely detailed and covers the rest of the API.
The library has been under active development since 2002.
Although it continues to be improved with the addition of new features and
bug-fixes, it is a mature and reliable code base.
A number of related projects are now available.
Joda-Time is licenced under the business friendly Apache License Version 2.0.