title: Date vs TimeStamp vs calendar?
body: <p>I sometimes get confused by the different Date types in java and their practical usage. Here 
  i am trying to summarize my understanding</p>
  
  <p><code>java.sql.Date :-</code> A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value</p>
  
  <p><code>java.sql.Timestamp :-</code> A thin wrapper around java.util.Date that allows the JDBC API to identify this as an SQL 
  TIMESTAMP value. It adds the ability to hold the SQL TIMESTAMP fractional seconds value, by allowing the specification 
  of fractional seconds to a precision of nanoseconds</p>
  
  <p>I have seen most of the projects prefer Timestamp instead of date. I think the main reason for this is that Timestamp can hold the value till
  nano seconds precision whereas Data can hold till milli seconds. Correct?</p>
  
  <p><code>Calendar :-</code> This class is designed for date manipulation  for example :- for converting between a specific instant in time and a 
  set of calendar fields such as YEAR, MONTH, DAY_OF_MONTH, HOUR, and so on, and for manipulating the calendar fields, such as getting 
  the date of the next week.Though i dont know why this class is abstract when only one implementation exists i.e GregorianCalendar.</p>