Java – difference between and


Can many one help me?

import java.util.Date;public class DateDemo {    public static void main(String [] p)    {        java.util.Date date1 = new Date();        @SuppressWarnings("deprecation")        java.sql.Date date2 = new java.sql.Date(2013, 12, 22);        System.out.println(date1.compareTo(date2));    }}

Best Solution

  1. As per Javadoc java.sql.Date is a thin wrapper around millisecond value which is used by JDBC to identify an SQL DATE type.

  2. java.sql.Date just represent DATE without time information while java.util.Date represent both Date and Time information. This is the major differences why java.util.Date can not directly map to java.sql.Date.

  3. In order to suppress time information and to confirm with definition of ANSI SQL DATE type, the millisecond values used in java.sql.Date instance must be "normalized by setting the hours, minutes, seconds and milliseconds to zero in the timezone with with DATE instance is associated. In other words all time related information is removed from java.sql.Date class.

Read more: