Java Date vs Calendar
Try to do this , this works fine.
In order to get set particular dates or do date arithmetic, use a Calendar. Because date is a simpler class and is mainly there for backward compatibility reasons. If you need to . Calendars also handle localization. The previous date manipulation functions of Date have since been deprecated.
individualistically we tend to use either time in milliseconds as a long or Long, as appropriate or Calendar when there is a choice.
Here, both Date and Calendar are mutable.They tends to present issues when using either in an API.
Here i’m going to share with a solution for this question very simple terms. The best way for new code is to use the Joda Time library. if your policy allows third-party code.
The concept of the Java versus calender is following, Remember one thing date is best for storing a date object. It is the persisted one, the Serialized one …
chronology or Calendar is best for operating Dates.
Date is mutable and therefore not thread-safe. so we also sometimes favor java.lang.Long over Date.. On a Date object, use setTime() and getTime() to switch between the two. For example, a constant Date in the application.
Here is an examples: the zero 1970/01/01, or an applicative END_OF_TIME that you set to 2099/12/31 ; those are very useful to replace null values as start time and end time, especially when you persist them in the database, as SQL is so peculiar with nulls.
Calendarare really the same fundamental concept (both represent an instant in timeand are wrappers around an underlying
- One could argue that
Calendaris actually even more broken than
Dateis, as it seems to offer concrete facts about things like day of the week and time of day, whereas if you change its
timeZoneproperty, the concrete turns into blancmange! Neither objects are really useful as a store of year-month-day or time-of-day for this reason.
Calendaronly as a calculator which, when given
TimeZoneobjects, will do calculations for you. Avoid its use for property typing in an application.
Dateto generate display Strings.
- If you’re feeling adventurous use Joda-Time, although it is unnecessarily complicated IMHO and is soon to be superceded by the JSR-310 date API in any event.
- I have answered before that it is not difficult to roll your own
YearMonthDayclass, which uses
Calendarunder the hood for date calculations. I was downvoted for the suggestion but I still believe it is a valid one because Joda-Time (and JSR-310) are really so over-complicated for most use-cases.