Can anybody recommend a good resource for learning about Java Dates?
I don't completely understand the relationship between GregorianCalendars and Dates and Locales. I have read the API and checked a couple books and I'm still fuzzy. It seems more complicated than it needs to be.
Has anybody here read a clear explaination of how to use Dates maybe with some best practices mixed in?
1). java.util.Date works well for storing a date value. This is about all it is good for. Fortunately, storing Dates is a commmon thing, so I use it a lot.
2). Use java.util.Calendar for date manipulations (adding time to dates, etc.)
3). Use milliseconds for calculating differences between dates. (Obtainable from a date.getTime(), or from a calendaer as calendar.getTime().getTime());
4). Use java.text.SimpleDateFormat for formatting dates to print -- unless you have to worry about locales. Then use the DateFormatter.getXXXInstance methods to get the locale-specific formats.
5). Unless you have to, don't worry about locales. But do use java.util.Calendar.getInstance() to get a locale-specific instance instead of using a GregorianCalendar directly. (In most cases it will return a GregorianCalendar anyway....)
Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
Only the first of those links if any use. The second links to java.sql.Date which is not a general purpose class. The third shows the use of a Calendar object, and now that LocalDate is available, you should no longer use Calendar or java.util.Date.