How to Convert java.util.Date to java.sql.Date in Java?
Date class is present in both java.util package and java.sql package. Though the name of the class is the same for both packages, their utilities are different. Date class of java.util package is required when data is required in a java application to do any computation or for other various things, while Date class of java.sql package is used whenever we need to store or read the data of DATE type in SQL, also Date class of java.sql package stores information only regarding the date, whereas Date class of java.util package stores both date and time information.
It must be remembered that when we need to convert one data form to another, we must use getTime() method of the Date class of java.util package.Though java.sql.Date class is a subclass of java.util.Date class, we can’t use java.sql.Date class wherever java.util.Date class must be passed, else it will violate the Liskov Substitution principle and our program will throw run time errors on execution, therefore it is not advised to pass SQL Date to methods that expect util date. Let us do discuss getTime() method prior to landing upon the implementation part.
The getTime() method of Java Date class returns the number of milliseconds since January 1, 1970, 00:00:00 GTM which is represented by the Date object.
Parameters: The function does not accept any parameter.
Return Value: It returns the number of milliseconds since January 1, 1970, 00:00:00 GTM.
Exception: The function does not throw any exceptions.
Разница между java.util.Date и java.sql.Date
В этом посте будут обсуждаться различия между java.util.Date а также java.sql.Date в Java.
Java предоставляет два Date классов, один из присутствующих в java.util пакет, а другой в java.sql упаковка. Ниже приведены некоторые различия между java.util.Date а также java.sql.Date :
1. java.util.Date представляет определенный момент времени в приложении Java с точностью до миллисекунды и без часового пояса. А java.util.Date объект представляет информацию о дате и времени, а java.sql.Date объект хранит только информацию о дате
2. java.sql.Date сопоставляется с SQL DATE тип данных, который не хранит информацию о времени. Вот почему нам нужно java.sql.Date в дополнение к java.util.Date как SQL DATE тип данных не хранит информацию о часах, минутах и секундах.
3. Для хранения java.util.Date объект в базе данных как SQL DATE тип данных, преобразование в java.sql.Date объект обязателен. Точно так же SQL DATE значение извлекается как java.sql.Date объект из базы данных и преобразование в java.util.Date необходим для использования этой даты в приложении Java.
4. toString() из java.util.Date возвращает строковое представление этой даты в mon dd hh:mm:ss zzz yyyy формат в то время как toString() метод java.sql.Date форматирует дату в yyyy-mm-dd формат.
5. Стоит отметить, что java.sql.Date является подклассом java.util.Date , поэтому он наследует все общедоступные методы java.util.Date такие как getHours(), getMinutes(), getSeconds() и соответствующий set*() методы. Теперь мы рассмотрели это java.sql.Date не хранит информацию о времени, то что возвращают эти методы?
The java.sql.Date фактически переопределяет все операции времени, унаследованные от java.util.Date , и все эти методы устарели, поскольку значения даты SQL не имеют компонента времени. Они все бросают java.lang.IllegalArgumentException если вызывается, как видно из деталей их реализации:
Разница между java.util.Date и java.sql.Date
В этом посте будут обсуждаться различия между java.util.Date а также java.sql.Date в Java.
Java предоставляет два Date классов, один из присутствующих в java.util пакет, а другой в java.sql упаковка. Ниже приведены некоторые различия между java.util.Date а также java.sql.Date :
1. java.util.Date представляет определенный момент времени в приложении Java с точностью до миллисекунды и без часового пояса. А java.util.Date объект представляет информацию о дате и времени, а java.sql.Date объект хранит только информацию о дате
2. java.sql.Date сопоставляется с SQL DATE тип данных, который не хранит информацию о времени. Вот почему нам нужно java.sql.Date в дополнение к java.util.Date как SQL DATE тип данных не хранит информацию о часах, минутах и секундах.
3. Для хранения java.util.Date объект в базе данных как SQL DATE тип данных, преобразование в java.sql.Date объект обязателен. Точно так же SQL DATE значение извлекается как java.sql.Date объект из базы данных и преобразование в java.util.Date необходим для использования этой даты в приложении Java.
4. toString() из java.util.Date возвращает строковое представление этой даты в mon dd hh:mm:ss zzz yyyy формат в то время как toString() метод java.sql.Date форматирует дату в yyyy-mm-dd формат.
5. Стоит отметить, что java.sql.Date является подклассом java.util.Date , поэтому он наследует все общедоступные методы java.util.Date такие как getHours(), getMinutes(), getSeconds() и соответствующий set*() методы. Теперь мы рассмотрели это java.sql.Date не хранит информацию о времени, то что возвращают эти методы?
The java.sql.Date фактически переопределяет все операции времени, унаследованные от java.util.Date , и все эти методы устарели, поскольку значения даты SQL не имеют компонента времени. Они все бросают java.lang.IllegalArgumentException если вызывается, как видно из деталей их реализации: